three20 TTPhotoViewController不缓存图像



我使用TTPhotoViewController来显示来自远程存储库的照片。如果我在远程存储库上改变了照片的内容但仍然使用相同的url,在我的iPhone客户端上,当加载TTPhotoViewController时,原始的手机仍然会显示。图像被缓存了,有办法不这样做吗?

我也注意到同样的问题与TTTableStyledTextItem之一有url到一个图像。

那么是否有清除缓存或自动刷新,如果目标图像被改变?

Three20使用一个名为TTURLCache的内部缓存,该缓存支持所有类型的缓存,包括ETag等。手动禁用缓存到磁盘:

[TTURLCache sharedCache].disableDiskCache = YES;

我不建议禁用缓存,相反,你应该看看你的图像上的http缓存头- Three20默认情况下尊重它。我建议您处理它的一种方法是向图像url添加一个虚拟参数(假设您通过某种api获得图像url)。然后简单地给它附加一个虚拟版本号。每次版本变更时,应用程序都会获得新版本的图像。而不是:

http://yoururl.com/image.png

使用

http://yoururl.com/image.png?dummyversion=232

最新更新