UIImage可以通過以下兩種方式進行初始化:
<pre>
<code>//第一種初始化方式:【注意使用這種初始化的時候如果是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:第一次讀取的時候,先把這個圖片放到緩存里,下次再使用到這個同名圖片的時候直接從緩存中讀??;優(yōu)點:方便快捷,只有第一次使用的時候稍慢,接下來再使用就會稍微快點;缺點:如果在當前工程中只使用一次會浪費內(nèi)存?!具@個內(nèi)存在程序關(guān)閉的時候才釋放】
第二種初始化方式:
使用initWithContentsOfFile初始化圖片的時候,每次都會根據(jù)路徑去讀取,不會占用內(nèi)存,如果圖片在當前工程中只使用一次,應(yīng)該選擇這個方法