1、imageNamed
imageNamed的优点是可以将已经加载过的图片缓存到内存中。苹果的文档中有如下说法:
This method looks in the system caches for an image object with the specified name and returns that object if it exists. If a matching image object is not already in the cache, this method locates and loads the image data from disk or asset catelog, and then returns the resulting object. You can not assume that this method is thread safe.
这个方法根据图片名称会先在系统缓存中寻找图片。如果缓存中没有这个图片对象,这个方法会从指定的文件中寻找对应的图片,并将其缓存到内存中。
当你需要重复使用一张图片的时,比如UITableView里的cell需要重复加载一张图片时
2、imageWithContentsOfFile或者imageWithData
这个方法只是简单的加载图片,并不会缓存到内存中。图片会以数据加载到程序中
当不需要重用图片,或者是下载一个很大图片等可以使用该方法
系统不会浪费内存。
网友评论