Android 磁盘缓存如何使用OkHttp和毕加索
我正在使用毕加索图书馆加载图像。我知道毕加索没有任何磁盘缓存,而是使用Http库缓存实现(在我的例子中是Android 磁盘缓存如何使用OkHttp和毕加索,android,caching,picasso,okhttp,Android,Caching,Picasso,Okhttp,我正在使用毕加索图书馆加载图像。我知道毕加索没有任何磁盘缓存,而是使用Http库缓存实现(在我的例子中是OkHttp)。关于OkHttp如何管理基于磁盘的缓存,我有几个问题: -如果服务器不发送任何缓存控制头,客户端(okHttp)是否总是从服务器请求映像? -客户端是否使用上次修改的头来确定是否需要下载新映像 在我们的例子中,服务器没有发送任何缓存控制头,但是我不想一直下载映像。如果在服务器上更改了映像,最后修改的时间戳将被更改,并可用于确定映像是否已更新,然后客户端应下载映像 在这种情况下,
OkHttp
)。关于OkHttp
如何管理基于磁盘的缓存,我有几个问题:
-如果服务器不发送任何缓存控制头,客户端(okHttp
)是否总是从服务器请求映像?
-客户端是否使用上次修改的头来确定是否需要下载新映像
在我们的例子中,服务器没有发送任何缓存控制头,但是我不想一直下载映像。如果在服务器上更改了映像,最后修改的时间戳将被更改,并可用于确定映像是否已更新,然后客户端应下载映像
在这种情况下,不实现缓存控制头的另一个原因是,如果缓存控制头说10天内不下载映像,但是如果映像在5天后更新,客户端将不会获得新映像
如果服务器上的映像已更新,并且现在是下载映像的正确时间,任何广泛使用过OkHttp
的人都可以让我知道此库是如何查找的
感谢没有任何缓存头,OkHttp将退回到启发式。关于web上的缓存规则有很多解释,但最能说明OkHttp是如何做到这一点的