1

我希望能够控制图像存储在缓存中的时间。这就是我使用afnetwork下载图像的方式:

[myImageView setImageWithURL:url placeholderImage:placeHolder];

我在文档中查找了它,我没有发现任何有趣的东西。

任何线索?

编辑:附加问题:缓存是否存储在磁盘中?我想是这样,因为即使在我关闭应用程序后图像仍保留在缓存中。但我不确定。

4

1 回答 1

2

AFNetworking 使用一个NSCache实例,它将在内存中存储越来越多的图像,直到收到内存警告,此时它将删除部分或全部消息。NSCache 不保存到磁盘。

AFNetworking 还使用NSURLCache,它根据 (1) 您的 NSURLRequest 设置和 (2) HTTP 服务器发送的缓存标头将 URL 响应缓存到磁盘。您可以通过设置NSURLRequestCachePolicy来调整应用程序中的缓存行为,并通过设置缓存标头在服务器上调整缓存行为。

如果这不能给你足够的控制,你可能想看看SDURLCache,一个开源的 NSURLCache 替代品。

于 2013-09-12T13:16:13.127 回答