一. 直接使用imageNamed進行創建
?1?UIImage * image = [UIImage imageNamed:@"1.jpg"];?
簡單說一下這種方式的優缺點:
優點:代碼量少,一行代碼就可以搞定。當程序中多次加載這張圖片時,系統會指向同一塊內存,這樣可以提升效率。
缺點:系統每次會將圖片緩存到計算機的內存中去,如果圖片非常大,非常多,會消耗很大的計算機內存,會出現卡頓的現象。
?
二.將本地圖片轉換成NSData類型存儲
1 NSString *filePath = [[NSBundle mainBundle]pathForResource:@"1" ofType:@"jpg"]; 2 NSData *imageData = [NSData dataWithContentsOfFile:filePath]; 3 UIImage *image1 = [UIImage imageWithData:imageData];
優點:圖片會被系統以數據的方式加載到程序中,當你不需要重復使用一個圖片或者你需要加載大量的圖片,不會大量消耗計算機內存,使用這種方式。
缺點:代碼量較多,沒有第一種簡單。
?
三.通過NSURL獲取網絡圖片
1 NSURL *url = [NSURL URLWithString:PATH]; 2 NSData *imageData = [NSData dataWithContentsOfURL:url]; 3 UIImage *image = [UIImage imageWithData:imageData];
上面的PATH是網絡圖片的地址。
這種方式的優缺點跟第二種應該是一樣的,區別就在于獲取圖片的方式不一樣。