- 缓存
UIImage中的imageNamed:和imageNamed:inBundle:的这两个方法中,都会在bundle中根据图片的名称找到对应的图片对象。
这两方法首先会在系统缓存中寻找并且返回最适合屏幕分辨率的图片对象。如果在系统内存中没有找到或者已经没在内存中了,就会从硬盘或是asset catalog中加载并返回。
系统有可能会在图片不再被使用的时候清空缓存来释放内存。
- 不带缓存的加载
imageWithContentsOfFile:等其他类方法,就是从指定的路径或者image data数据等对象中加载该图片,并不会对图片进行缓存处理。
所以在加载图片时,如果某张图片需要多次加载,可以考虑使用imageNamed,但是此时需要防止内存在缓存上花费太多的消耗。