我正在使用 TTPhotoViewController 来显示来自远程存储库的照片。如果我更改远程存储库中照片的内容但仍使用相同的 url,在我的 iPhone 客户端上,加载 TTPhotoViewController 时仍会显示原始手机。所以图像以某种方式被缓存,有没有办法不这样做?
我还注意到其中一个具有图像 url 的 TTTableStyledTextItem 存在同样的问题。
那么,如果目标图像发生更改,是否有清除缓存或自动刷新的方法?
我正在使用 TTPhotoViewController 来显示来自远程存储库的照片。如果我更改远程存储库中照片的内容但仍使用相同的 url,在我的 iPhone 客户端上,加载 TTPhotoViewController 时仍会显示原始手机。所以图像以某种方式被缓存,有没有办法不这样做?
我还注意到其中一个具有图像 url 的 TTTableStyledTextItem 存在同样的问题。
那么,如果目标图像发生更改,是否有清除缓存或自动刷新的方法?
Three20 使用一个名为 TTURLCache 的内部缓存,它支持包括 ETag 等在内的各种缓存。通过以下方式手动禁用缓存到磁盘:
[TTURLCache sharedCache].disableDiskCache = YES;
我不建议禁用缓存,而是您应该查看图像上的 http 缓存标头 - Three20 默认情况下尊重它。我建议您处理它的一种方法是向您的图像 url 添加一个虚拟参数(假设您通过某种 api 获取图像 url)。然后只需向其附加一个虚拟版本号。每次版本更新时,您的应用都会获得一个新版本的图像。代替:
采用