imageWithName与imageWithContentsOfFile
0x00 概述
图片加载有以下两种方式:
+(UIImage *)imageNamed:(NSString *)name
+(UIImage *)imageWithContentsOfFile:(NSString *)name
两种方式有何区别,在查阅官方文档后发现以下解释:
imageNamed:在加载图片时会根据名字在主目录中查找,首先会在内存缓存中查找,如果没有再从磁盘获取,之后系统会缓存该图片到内存。
如果使用频率较低的图片,或者想要保证图片不会增加内存占用,可以改用imageWithContentsOfFile:。该函数系统不会自动缓存。
举个例子界面A有5张图片,界面B有5张图片,用户从A到B再回到A之后,imageNamed:加载方式会产生10张图的缓存,但是imageWithContentsOfFile:在退出B时清理掉B的图片缓存,回到A时只有5张图片的缓存。