我希望能够控制图像在缓存中存储的时间。这是我使用afnetwork下载图像的方式:
[myImageView setImageWithURL:url placeholderImage:placeHolder];
我在文档中查了一下,我没有发现任何有趣的内容。
任何线索?
编辑:附加问题:是否存储在磁盘中的缓存?我猜是因为即使我关闭应用程序后图像仍保留在缓存中。但我不确定。
答案 0 :(得分:2)
AFNetworking使用NSCache实例,它将在内存中存储越来越多的图像,直到收到内存警告,此时它将删除部分或全部消息。 NSCache不保存到磁盘。
AFNetworking还使用NSURLCache,它根据(1)您的NSURLRequest设置和(2)HTTP服务器发送的缓存头来缓存对磁盘的URL响应。您可以通过设置NSURLRequestCachePolicy来调整应用中的缓存行为,并通过设置缓存标头在服务器上调整缓存行为。
如果这不能给您足够的控制权,您可能需要查看SDURLCache,这是一个开源NSURLCache替代方案。