图片性能优化

  1. 使用Image Asset Catalogs管理图片
  2. init?(named: String) 常用于加载小且常用的 icon,其初始化的图片,占用的缓存只会在程序退出时才清空,即使消除强引用仍会占用缓存。而 init?(contentsOfFile: String) 初始化的图片,在没有强引用时便会自动销毁。

而 init?(contentsOfFile: String) 使用有一些注意点。该方法的参数是图片的全路径,所以需要通过 Bundle 来获取,而且需要带上后缀名。需要注意的是,如果图片放置在 Assets.xcassets 中,Bundle 是无法获取到的,需要直接复制到项目中。

Contents
,