Android 滑动缓存行为

Android 滑动缓存行为,android,android-glide,Android,Android Glide,我有一个简单的缓存问题: 我有旧的“name.jpg”,然后客户上传新的“name.jpg”,而客户看不到任何变化,对他们来说,仍然是缓存的旧“name.jpg” 我知道如何关闭缓存,但这不是一个好的决定,所以我尝试找到更好的 所以问题是: 如果在问号后添加get参数,缓存如何工作 例如,我有一个url http://example.com/name.jpg?cache_time=111 然后我将其替换为 http://example.com/name.jpg?cache_time=222

我有一个简单的缓存问题: 我有旧的“name.jpg”,然后客户上传新的“name.jpg”,而客户看不到任何变化,对他们来说,仍然是缓存的旧“name.jpg”

我知道如何关闭缓存,但这不是一个好的决定,所以我尝试找到更好的

所以问题是:

如果在问号后添加get参数,缓存如何工作

例如,我有一个url

http://example.com/name.jpg?cache_time=111
然后我将其替换为

http://example.com/name.jpg?cache_time=222

它会下载second name.jpg并替换现有的吗?我知道它在浏览器中使用
css
js
文件,但对
glide
行为一无所知。

在url查询中传递的任何参数都将被发送到为图像服务的服务器,并且只有当该服务器处理该确切参数(
缓存时间
)时,行为才会有任何差异

然而,缓存glide并不是基于您发送给服务器的内容,而是基于您为glide提供的配置

我建议您查看glide是如何处理缓存的,当您知道某个特定图像的缓存已更改时,可以手动使其无效


这是一个很好的起点:。它还提供了如何使用上述注释中提到的
signature()
的示例。

您可能希望了解Glide请求生成器的
signature()
方法。它允许您添加自己的数据,用于失效。从他们的javadoc:设置一些要混合到内存和磁盘缓存键中的附加数据,允许调用方在缓存数据失效时进行更多控制。注意-签名不替换缓存密钥,它纯粹是加法。缓存时间是“缓存控制:最大年龄”标题,对吗?如果是,看起来它工作不正常