原文:
關於本地uiimage的載入問題,還是需要注意的。不同的載入處理方式,在效率和效能上還是有差異的。
今天,我們來講講uiimage的載入應該選擇什麼樣的api來載入!
這兩種api分別是:
大量使用-initwithcontentsoffile:方式來載入,會增加cpu的開銷,所以我們需要根據特定場景慎重選擇載入的方式。即使uiimage較小,但使用uiimage元素較多時,問題會有所凸顯哦!
2
3
4
5
6
7
8
9
uiimage
*image=[
uiimage
imagenamed
:@"logo"];
// 在開發中,通常都定義了快捷呼叫的巨集
#define kimgname(name) [uiimage imagenamed:name]
// 使用時就更簡化了
uiimage
*image
=kimgname
(@"logo");
2
3
4
5
6
7
8
9
10
11
nsstring
*filepath=[
[nsbundle
mainbundle
]pathforresource
:@"logo"
oftype
:@"png"];
uiimage
*image=[
[uiimage
alloc
]initwithcontentsoffile
:filepath];
// 但是在開發中,筆者通常會定義成巨集,簡化呼叫
#define kresourcepath(name, type) ([[nsbundle mainbundle] pathforresource:name oftype:type])
#define kimgfromfile(name, type) [[uiimage alloc] initwithcontentsoffile:kresourcepath(name, type)]
// 然後,呼叫也變得很簡化了~
uiimage
*image
=kimgfromfile
(@"logo"
,@"png");
UIImage 載入方式及優化
一 載入方式 1.快取載入方式 uiimage image uiimage imagenamed imagefilename 載入後,會自動加入系統快取中,並不會立即釋放到記憶體。加快程式的執行減少io操作,但對於專案中只用到一次的,會導致程式的記憶體使用增加。2.非快取載入方式 uiimage i...
UIImage 載入效能優化
uiimage 存在 延遲解壓的問題。這會占用時間。一旦檔案被載入就必須要進行解碼,解碼過程是乙個相當複雜的任務,需要消耗非常長的時間。解碼後的將同樣使用相當大的記憶體。用於載入的cpu時間相對於解碼來說根據格式而不同。對於png來說,載入會比jpeg更長,因為檔案可能更大,但是解碼會相對較快,而且...
Bagging演算法細講
bagging演算法 讓該學習演算法訓練多輪,每輪的訓練集由從初始的訓練集中隨機取出的n個訓練樣本組成,某個初始訓練樣本在某輪訓練集中可以出現多次或根本不出現,訓練之後可得到乙個 函式序列h 1,h n 最終的 函式h對分類問題採用投票方式,對回歸問題採用簡單平均方法對新示例進行判別。思想 1 從原...