iOS之imageName:和imageWithContentOfFile:的區(qū)別

一.資源打包

圖片是被放在image.xcassets里面
部署版本在>=iOS8.0時,打包的資源包圖片被放在Assets.car中 ,圖片被壓縮
部署版本在<iOS8.0時,打包的資源包圖片被放在MainBudnle中,圖片沒有被壓縮
圖片如果是被直接拖到項目當(dāng)中,無論部署版本是多少,都會被放到MainBundle中,圖片沒有被壓縮

二.內(nèi)存分配

使用imageNamed:加載圖片:

加載到內(nèi)存中后,會一直停留在內(nèi)存中,不會隨著對象銷毀而銷毀
加載進(jìn)圖片后,占用的內(nèi)存歸系統(tǒng)管理,我們無法管理
相同的圖片,圖片不會重新加載
加載到內(nèi)存中后,占據(jù)內(nèi)存空間較大

使用 imageWithContentOfFile:加載圖片:

加載到內(nèi)存中后,占據(jù)內(nèi)存空間比較小
相同的圖片會被重復(fù)加載到內(nèi)存中
對象銷毀的時候,加載到內(nèi)存中得圖片會被一起銷毀

結(jié)論:

如果圖片較小,并且頻繁使用的圖片,使用imageName:來加載圖片(按鈕圖片/主頁圖片/占位圖)
如果圖片較大,并且使用次數(shù)較少,使用 imageWithContentOfFile:來加載(相冊/版本新特性)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容