使用Google的Volley为缓存设置过期策略

Pat*_*ick 20 android android-volley

是否可以在Google的Volley lib上修改缓存的到期策略?我相信你可以实现自己的缓存,但是有一种简单的方法可以使用默认实现吗?

Ole*_*mov 23

无需编写自己的缓存实现.您可以更改方法com.android.volley.toolbox.HttpHeaderParser.parseCacheHeaders(NetworkResponse response),忽略这些标头,将entry.softTtl和entry.ttl字段设置为适合您的任何值,并在请求类中使用您的方法.

在我对类似问题的回答中有一个例子 - Android Volley + JSONObjectRequest Caching


Ogn*_*yan 18

似乎当前缓存过期仅由响应中的"缓存"标头控制,因此基本上您将受到服务器的支配.无论什么服务器返回将使用的"Expires"或"max-age =".如果我们需要自定义到期策略,我们将不得不使用自己的缓存...

  • 是的,但是使用oleksandr_yefremov提供的方法,您仍然必须为每个请求显式设置新的标头规则.这并不是说您的所有请求都将遵循此规则. (3认同)
  • 这是不正确的.使用oleksandr_yefremov提供的答案,您可以覆盖缓存过期标头. (2认同)