UIImage加載圖片的方式以及Images.xcassets對于加載方法的影響

iOS 中讀取圖片的方法 有兩種

根據(jù)是否將創(chuàng)建好的對象緩存入系統(tǒng)內(nèi)存,有兩類創(chuàng)建UIImage對象的方法可選:

緩存:+ imageNamed:,只需傳入文件名.擴(kuò)展名(可選)即可。
不緩存:+ imageWithContentsOfFile:,必須傳入文件的全名(全路徑+文件名)。

注意,對于有緩存功能的方法來說,其創(chuàng)建對象的步驟如下:

根據(jù)圖片文件名在緩存池中查找特定的UIImage對象,入存在,將這個對象返回。
如果不存在,則從bundle中加載圖片數(shù)據(jù),創(chuàng)建對象并返回。
如果相應(yīng)的圖片數(shù)據(jù)不存在,返回nil

Images.xcassets

Images.xcassets在app打包后,以Assets.car文件的形式出現(xiàn)在bundle中。其作用在于:

自動識別@2x,@3x圖片,對內(nèi)容相同但分辨率不同的圖片統(tǒng)一管理。
可以對圖片進(jìn)行剪裁和拉伸處理。
Images.xcassets中的圖片資源只能通過imageNamed:方法加載,通過NSBundle的pathForResource:ofType:無法獲得圖片路徑。因此,Images.xcassets只適合存放系統(tǒng)常用的,占用內(nèi)存小的圖片資源

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容