imageNamed:
UIImage *image = [UIImage imageNamed:@"test.png"];
使用这种方式加载图片分为两种情况:
1、有缓存的情况
直接从缓存中取得
2、没有缓存的情况
通过文件名对整个工程进行遍历,如果找到对应的图片,iOS系统首先要做的就是将整个图片放到系统缓存中去,下次使用直接从系统缓存中获取
优缺点:
优点:速度快,性能高
缺点:由于不是直接冲文件中获取,而是从系统缓存中获得,假设文件数量过多、文件太大,会导致内存不足
imageWithContentsOfFile和initWithContentsOfFile
NSString *imageFile = [[NSBundle mainBundle] pathForResource:@"1.png" ofType:nil];
UIImage *image = [UIImage imageWithContentsOfFile:imageFile];
使用上面的方法仅仅只是加载图片,图片并不会缓存,因此在加载较大图片或者图片使用次数很少的情况下,可以使用这种方式,降低内存消耗