iOS Images.scassets对于UIImage加载图片的影响

imageNamed:  // 有缓存
imageWithContentsOfFile: // 没有缓存

imageNamed: 可以加载 bundle 中任意位置的图片,包括 main bundle 中其他 bundle 的。
1、如果图片文件名在缓存池中存在,就直接创建对象并返回;
2、如果不存在,就从 bundle 中加载图片数据,创建对象并返回;
3、如果不存在,返回 nil 。

imageWithContentsOfFile: 没有缓存,必须传入图片文件的 全名(全路径+文件名),并且 无法加载 Images.xcassets 中的图片。

Images.xcassets 在app打包以后,以Asses.car 文件形式出现在bundle中。
其中的图片只能通过 UIImage 的 imageNamed: 方法加载,通过 NSBundle 的 pathForResource:ofType: 无法获得图片路径。只适合存放内存小的图片资源,不然会造成界面卡顿。

你可能感兴趣的:(iOS Images.scassets对于UIImage加载图片的影响)