UIImage两个初始化的区别

来源:互联网 发布:国际网页在线客服软件 编辑:程序博客网 时间:2024/06/02 02:07

常见的加载图片的方式有两种

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

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

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

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

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

如果你要加载一个大图片而且是一次性使用并且没必要缓存这个图片,用imageWithContentsOfFile,这样不会浪费内存来缓存它。
然而,在图片反复重用的情况下imageNamed是一个好得多的选择。

0 0