一. 直接使用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是网络图片的地址。
这种方式的优缺点跟第二种应该是一样的,区别就在于获取图片的方式不一样。
时间: 2024-11-05 12:31:28