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里面
  • 大图片\使用频率比较低得图--放在工程外面就好
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容