使用从磁盘缓存(NSCachesDirectory)加载的图像的UIImage对象的系统缓存?

Mar*_*Thé 5 iphone caching uiimage

我正在尝试提高滚动性能UITableView,使用带有从网络上获取的图像的单元格,但存储在NSCachesDirectory.单元格具有自定义内容视图以绘制内容(图像).

当我使用来自应用程序包的占位符图像时,使用[UIImage imageNamed:@"Placeholder.png"]滚动性能非常快.

当我NSCachesDirectory使用磁盘缓存()加载图像时[UIImage imageWithContentsOfFile:cachePath],滚动性能变差.

根据文档,imageNamed:缓存图像而imageWithContentsOfFile:不是.

使用UIImage时如何使用系统缓存imageWithContentsOfFile:

谢谢你!

Mar*_*Thé 8

似乎可以NSCachesDirectory[UIImage imageNamed:]方法的as参数中使用图像的路径.该方法接受相对路径(相对于应用程序包),例如:@"../Library/Caches/SomeCachedImage.png"工作.

如果多次使用,UIImage会自动将图像缓存在内存中,这样可以提高在表格视图中多次使用图像时的性能.