UIImage初始化的區(qū)別兩種方法介紹(面試常見(jiàn))
UIImage可以通過(guò)以下兩種方式進(jìn)行初始化:
//第一種初始化方式:【注意使用這種初始化的時(shí)候如果是png格式的可以不給后綴名,根據(jù)屏幕的的分辨率去匹配圖片】 UIImage *image = [UIImage imageNamed:@"v_red_heart_selected"]; //第二種初始化方式:【必須拼接圖片的全名稱(chēng),否則image的路徑為空】 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"v_red_heart_selected@x.png" ofType:nil]; UIImage *image = [[UIImage alloc] initWithContentsOfFile:filePath];
兩種方式的區(qū)別:
第一種初始化方式:
使用imageNamed:第一次讀取的時(shí)候,先把這個(gè)圖片放到緩存里,下次再使用到這個(gè)同名圖片的時(shí)候直接從緩存中讀??;優(yōu)點(diǎn):方便快捷,只有第一次使用的時(shí)候稍慢,接下來(lái)再使用就會(huì)稍微快點(diǎn);缺點(diǎn):如果在當(dāng)前工程中只使用一次會(huì)浪費(fèi)內(nèi)存?!具@個(gè)內(nèi)存在程序關(guān)閉的時(shí)候才釋放】
第二種初始化方式:
使用initWithContentsOfFile初始化圖片的時(shí)候,每次都會(huì)根據(jù)路徑去讀取,不會(huì)占用內(nèi)存,如果圖片在當(dāng)前工程中只使用一次,應(yīng)該選擇這個(gè)方法
相關(guān)文章
Flutter自定義實(shí)現(xiàn)神奇動(dòng)效的卡片切換視圖的示例代碼
這篇文章主要介紹了Flutter自定義實(shí)現(xiàn)神奇動(dòng)效的卡片切換視圖的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04
Android 中無(wú)法取消標(biāo)題欄的問(wèn)題小結(jié)(兩種方法)
我們都知道取消標(biāo)題欄有兩種方式,一種是在Java代碼中取消,另一種通過(guò)設(shè)置styles.xml文件中的Theme即可,下面就兩種方法給大家簡(jiǎn)答介紹下2016-12-12
Android 調(diào)用系統(tǒng)照相機(jī)拍照和錄像
本文主要介紹Android 調(diào)用系統(tǒng)照相機(jī)拍照和錄像的資料,這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下2016-09-09
Android Studio中一套代碼多渠道打包的實(shí)現(xiàn)方法
這篇文章主要介紹了Android Studio中一套代碼多渠道打包的實(shí)現(xiàn)方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-05-05
android自動(dòng)生成dimens適配文件的圖文教程詳解(無(wú)需Java工具類(lèi))
這篇文章主要介紹了android自動(dòng)生成dimens適配文件,無(wú)需Java工具類(lèi),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
自定義GridView并且實(shí)現(xiàn)拖拽(附源碼)
本文實(shí)現(xiàn)了GridView的拖拽功能,原理很簡(jiǎn)單只是在交換位置上記錄了X軸的相關(guān)坐標(biāo),計(jì)算了X軸的相關(guān)變量,實(shí)例代碼如下,感興趣的額朋友可以參考下哈2013-06-06
Android富文本實(shí)現(xiàn)的幾種方式匯總
由于項(xiàng)目中需要使用到富文本顯示和編輯,索性整理下,這篇文章主要給大家介紹了關(guān)于Android富文本實(shí)現(xiàn)的幾種方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05

