【发布时间】:2013-12-03 09:55:16
【问题描述】:
我正在使用Picasso 加载图像。一些图像来自一个 URL,但有时这些图像在服务器上会发生变化,保持相同的名称。 那么,毕加索是否知道缓存的图像是否已过期,即使它们具有相同的文件名?或者它只是检查文件名是否与缓存中的文件名相同?
谢谢
【问题讨论】:
我正在使用Picasso 加载图像。一些图像来自一个 URL,但有时这些图像在服务器上会发生变化,保持相同的名称。 那么,毕加索是否知道缓存的图像是否已过期,即使它们具有相同的文件名?或者它只是检查文件名是否与缓存中的文件名相同?
谢谢
【问题讨论】:
Picasso 是一个符合标准的 HTTP 客户端库。它检查HTTP response cache headers 以进行缓存验证。如果您的服务器正在向您的资源添加正确的标头,那么毕加索将像冠军一样处理缓存失效。
【讨论】:
毕加索通常从缓存本身加载图像。 因此,您拥有不断变化的相同图像文件,那么使用以下标志将是您的理想选择。
1 更改内存策略
.memoryPolicy(MemoryPolicy.NO_CACHE)
这将跳过毕加索的缓存。
2 您还可以更改网络策略
.networkPolicy(NetworkPolicy.NO_CACHE)
如果您需要破坏 HTTP 缓存。
希望对你有帮助。
【讨论】: