UIImage两种加载方式

UIImage是我们操作图片的一个类,而我们经常用UIImage imageNamed:@“图片名”获取一张图片,这种方法会找资源包中下的图片,加载一次后就一直在缓存中,性能比较好,而另外一种方法[[UIImage alloc] initWithContentsOfFile:@"全路径"]每次都会通过全路径获取图片。

类型 是否有缓存 使用场合
UIImageimageNamed:@“图片名”

有缓存,多次调用返回的是相同对象


图片使用频率高


[[UIImage alloc] initWithContentsOfFile:@"全路径"]

无缓存,每次调用返回的都是新对象


使用场合:图片是一次性使用

imageNamed访问bundle下面的图片

[UIImageimageNamed:@"images.bundle/1.png"]

initWithContentsOfFile加载图片

 // mainBundle 指向的就是资源包

   NSBundle *bundle = [NSBundlemainBundle];

    //获得图片的全路径

   NSString *path = [bundle pathForResource:@"sub_blue_add" ofType:@"png"];

    

    UIImage *image = [[UIImagealloc] initWithContentsOfFile:path];

   self.imageView.image = image;

访问bundle中所有图片

    // 0.获取images.bundle的全路径

    NSString *path = [[NSBundlemainBundle] pathForResource:@"images"ofType:@"bundle"];   

    // 1.加载images.bundle这个压缩包

   NSBundle *bundle = [[NSBundlealloc] initWithPath:path];

    

    // 2.获得images.bundle中所有png图片的全路径

    NSArray *paths = [bundlepathsForResourcesOfType:@"png"inDirectory:nil];


UIImage两种加载方式

上一篇:从配置文件到用户接口


下一篇:POJ 1159 Palindrome(DP)