【发布时间】:2015-11-15 11:58:04
【问题描述】:
我正在使用 Picasso 库来加载图像。我知道毕加索没有任何磁盘缓存,而是使用 Http Library Cache 实现(在我的例子中是OkHttp)。我对OkHttp 如何管理基于磁盘的缓存有几个问题:
- 如果服务器不发送任何缓存控制标头,客户端 (okHttp) 是否总是向服务器请求图像?
- okHttp 客户端是否使用 last-modified 标头来确定是否需要下载新图像。
在我们的例子中,服务器没有发送任何缓存控制标头,但是我不想一直下载图像。如果服务器上的图片发生了变化,最后修改的时间戳也会改变,可以用来判断图片是否更新,然后客户端应该下载图片。
在这种情况下不实现缓存控制标头的另一个原因是,如果缓存控制标头说 10 天内不下载图像,但是如果图像在 5 天后更新,客户端将无法获取新图像。
任何广泛使用OkHttp 的人都可以告诉我,如果服务器上的图像已更新并且现在是下载它的正确时间,这个库是如何找到的?
谢谢
【问题讨论】:
标签: android caching picasso okhttp