UIImage图片使用的小技巧

NO.1 首先我们看看图片加载的两种方式
1.根据图片名加载
UIImage *image = [UIImage imageNamed:@"123.png”];
#会有图片缓存,不会释放
2.根据bundle路径加载
 NSString *path = [[NSBundle mainBundle] pathForResource:@"123.png" ofType:nil];
   UIImage *image = [UIImage imageWithContentsOfFile:path];
#不会有缓存
NO.2 其次我们再来看看图片直接拖入工程里和放在Assets.xcassets中有什么区别
  • 直接拖入工程中得图片是直接显示在我们沙盒资源包里面的,可以通过上面的两种方式加载图片

  • 而放入Assets.xcassets中的图片,没有直接暴露在沙盒资源包中,是压缩到Assets.car文件中得(Xcode 7.x以后). 所以我们只能通过imageNamed:方式加载里面的图片

NO.3 实际应用
  • 比如我们的版本新特性图片,比较大,而且只使用一次,所以我们就不要放入Assets.xcassets中,以免通过图片名加载以后,造成浪费。就直接拖入工程中,通过地址加载,可以释放缓存,也算对程序的小优化
NO.4 结论
  • 小图片\使用频率较高的图片--放在Assets.xcassets里面
  • 大图片\使用频率比较低得图--放在工程外面就好

你可能感兴趣的:(UIImage图片使用的小技巧)