細講UIImage載入方式

2021-07-12 05:08:13 字數 1375 閱讀 3607

原文:

關於本地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 從原...