您的位置:首页 > 产品设计 > UI/UE

UIImage两个初始化的区别

2016-06-08 10:24 204 查看
常见的加载图片的方式有两种

//第一种
UIImage *image = [UIImage imageNamed:@"1.jpg"];

//第二种
NSString *path = [[NSBundle mainBundle]pathForResource:@"1" ofType:@".jpg"];
UIImage *pathImage = [UIImage imageWithContentsOfFile:path];


既然有两种类似的方法来实现相同的目的,那么他们之间的差别 是什么呢?

imageNamed
的优点是当加载时会缓存图片。这个方法用一个指定的名字在系统缓存中查找如果这个缓存图片存在的话便返回图。如果缓存中没有找到相应的图片,这个方法从指定的文档中加载然后缓存并返回这个对象。

相反的,
imageWithContentsOfFile
仅加载图片,不进行缓存处理。

所以在功能上我们可以选折:

如果你要加载一个大图片而且是一次性使用并且没必要缓存这个图片,用
imageWithContentsOfFile
,这样不会浪费内存来缓存它。

然而,在图片反复重用的情况下
imageNamed
是一个好得多的选择。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  图片