iphone开发:使用asyncimageview库缓存图像

时间:2013-06-11 18:40:31

标签: iphone ios objective-c caching uiimageview

在我的应用程序中,我使用AsyncImageView库来异步加载和显示图像,并声称它会缓存图像。

可在此处找到该库:https://github.com/nicklockwood/AsyncImageView

好吧,我有一个tableview,它的行内有imageviews。感谢asyncimageview库我可以成功延迟加载图像,所以没有问题。但我对该库的缓存属性有疑问。

我对缓存的期望,例如我第一次推送到具有我的tableview的视图控制器,它使用该库延迟加载图像。但是,当我从该视图返回并再次按下时,如果记录被更改,我认为它应该从缓存中检索图像。无需再次下载图像。但是在这个库中它会再次下载图像。我需要做一些额外的事情来做吗?或者根本不可能拥有这种缓存属性?

2 个答案:

答案 0 :(得分:2)

我曾经使用过这个库。它将所有图像缓存到内存中,对我来说它运行得很好。

  

已加载/下载的图像会自动缓存在内存中   在发生内存警告时清理

因此,除非您的应用收到内存警告,否则它应该在导航层次结构中来回传播后保留缓存的图像。如果您觉得库没有按照描述执行,您可以向开发人员提交错误报告/问题。

答案 1 :(得分:-1)

我已经解决了这个问题:你需要添加

#import "AsyncImageView.h"

在您的文件.m

和USE

NSURL *url = [NSURL URLWithString:yourUrlString];
photo.imageURL = url; 

OR FOR EXAMPLE

cell.imageView.imageURL = url;

而不是

UIImage *theImage = [UIImage imageWithData:imageData];
photo.image = theImage;