Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 磁盘缓存如何使用OkHttp和毕加索_Android_Caching_Picasso_Okhttp - Fatal编程技术网

Android 磁盘缓存如何使用OkHttp和毕加索

Android 磁盘缓存如何使用OkHttp和毕加索,android,caching,picasso,okhttp,Android,Caching,Picasso,Okhttp,我正在使用毕加索图书馆加载图像。我知道毕加索没有任何磁盘缓存,而是使用Http库缓存实现(在我的例子中是OkHttp)。关于OkHttp如何管理基于磁盘的缓存,我有几个问题: -如果服务器不发送任何缓存控制头,客户端(okHttp)是否总是从服务器请求映像? -客户端是否使用上次修改的头来确定是否需要下载新映像 在我们的例子中,服务器没有发送任何缓存控制头,但是我不想一直下载映像。如果在服务器上更改了映像,最后修改的时间戳将被更改,并可用于确定映像是否已更新,然后客户端应下载映像 在这种情况下,

我正在使用毕加索图书馆加载图像。我知道毕加索没有任何磁盘缓存,而是使用Http库缓存实现(在我的例子中是
OkHttp
)。关于
OkHttp
如何管理基于磁盘的缓存,我有几个问题: -如果服务器不发送任何缓存控制头,客户端(
okHttp
)是否总是从服务器请求映像? -客户端是否使用上次修改的头来确定是否需要下载新映像

在我们的例子中,服务器没有发送任何缓存控制头,但是我不想一直下载映像。如果在服务器上更改了映像,最后修改的时间戳将被更改,并可用于确定映像是否已更新,然后客户端应下载映像

在这种情况下,不实现缓存控制头的另一个原因是,如果缓存控制头说10天内不下载映像,但是如果映像在5天后更新,客户端将不会获得新映像

如果服务器上的映像已更新,并且现在是下载映像的正确时间,任何广泛使用过
OkHttp
的人都可以让我知道此库是如何查找的


感谢没有任何缓存头,OkHttp将退回到启发式。关于web上的缓存规则有很多解释,但最能说明OkHttp是如何做到这一点的