IOS UIImage兩種初始化的區別

UIImage能夠經過如下兩種方式進行初始化:緩存

1 //第一種初始化方式:【注意使用這種初始化的時候若是是png格式的能夠不給後綴名,根據屏幕的的分辨率去匹配圖片】
2 
3 UIImage *image = [UIImage imageNamed:@"v_red_heart_selected"];

  

1    //第二種初始化方式:【必須拼接圖片的全名稱,不然image的路徑爲空】
2    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"v_red_heart_selected@3x.png" ofType:nil]; 
3     UIImage *image = [[UIImage alloc] initWithContentsOfFile:filePath];

  

兩種方式的區別:

 第一種初始化方式:

  使用imageNamed:第一次讀取的時候,先把這個圖片放到緩存裏,下次再使用到這個同名圖片的時候直接從緩存中讀取;優勢:方便快捷,只有第一次使用的時候稍慢,接下來再使用就會稍微快點;缺點:若是在當前工程中只使用一次會浪費內存。【這個內存在程序關閉的時候才釋放】.net

 第二種初始化方式:

  使用initWithContentsOfFile初始化圖片的時候,每次都會根據路徑去讀取,不會佔用內存,若是圖片在當前工程中只使用一次,應該選擇這個方法blog

相關文章
相關標籤/搜索