在我的应用程序中,我使用AsyncImageView库来异步加载和显示图像,并声称它会缓存图像。
可在此处找到该库:https://github.com/nicklockwood/AsyncImageView
好吧,我有一个tableview,它的行内有imageviews。感谢asyncimageview库我可以成功延迟加载图像,所以没有问题。但我对该库的缓存属性有疑问。
我对缓存的期望,例如我第一次推送到具有我的tableview的视图控制器,它使用该库延迟加载图像。但是,当我从该视图返回并再次按下时,如果记录被更改,我认为它应该从缓存中检索图像。无需再次下载图像。但是在这个库中它会再次下载图像。我需要做一些额外的事情来做吗?或者根本不可能拥有这种缓存属性?
答案 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;