UIImage可以通過以下兩種方式進(jìn)行初始化:
<pre>
<code>//第一種初始化方式:【注意使用這種初始化的時(shí)候如果是png格式的可以不給后綴名狞悲,根據(jù)屏幕的的分辨率去匹配圖片】
</code>
<code>
UIImage **image = [UIImage imageNamed:@"v_red_heart_selected"];
</code>
<code>
//第二種初始化方式:【必須拼接圖片的全名稱,否則image的路徑為空】
</code>
<code>
NSString ***filePath = [[NSBundle mainBundle] pathForResource:@"v_red_heart_selected@3x.png" ofType:nil];
</code>
<code>
UIImage *image = [[UIImage alloc] initWithContentsOfFile:filePath];
</code>
</pre>
兩種方式的區(qū)別:
第一種初始化方式:使用imageNamed:第一次讀取的時(shí)候秕岛,先把這個圖片放到緩存里柬讨,下次再使用到這個同名圖片的時(shí)候直接從緩存中讀却盗狻楣黍;優(yōu)點(diǎn):方便快捷附迷,只有第一次使用的時(shí)候稍慢惧互,接下來再使用就會稍微快點(diǎn);缺點(diǎn):如果在當(dāng)前工程中只使用一次會浪費(fèi)內(nèi)存喇伯『袄埽【這個內(nèi)存在程序關(guān)閉的時(shí)候才釋放】
第二種初始化方式:
使用initWithContentsOfFile初始化圖片的時(shí)候,每次都會根據(jù)路徑去讀取稻据,不會占用內(nèi)存艾猜,如果圖片在當(dāng)前工程中只使用一次,應(yīng)該選擇這個方法