[UIImage imageNamed:]与 [UIImage imageWithContentsOfFile:]的不同

在加载图片资源时,通常使用有人会使用[UIImage imageNamed:]方法,这样做时候合适呢,你对[UIImage imageWithContentsOfFile:]是否了解呢?

1.[UIImage imageNamed:]

使用[UIImage imageNamed:]方法时系统会将获取的图片缓存下来,并且图片的释放不受程序员的控制,所以当使用比较大且不经常使用的图片时就不适合使用这个方法,这会添加内存负担,而当需要重复的使用一些较小的图片时,这个方法会将图片缓存,在对读取的时候就比较快,能够得到比较好的用户体验句。

2. [UIImage imageWithContentsOfFile]

mageWithContentsOfFile的方式,在使用完成之后系统会释放,不会缓存下来,因此并不会添加内存负担,有些图片在应用中只使用一两次的,就可以用这样的方式,比如新手引导界面的图片等等,就适合这样的方式。

想要验证上面的说法,你可以使用leaks工具来检查用 imageNamed:和 imageWithContentsOfFile分别加载图片时的内存变化.
方法1:


屏幕快照 2017-11-23 上午11.02.12.png

方法2:


屏幕快照 2017-11-23 上午11.07.09.png

然后:


屏幕快照 2017-11-23 上午11.05.50.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容