对于Android应用,是否可以用OkHttpClient为不同的URL设置不同的缓存时间?
例如,我有两个URLs。
对于第一个网址,我想设置缓存365天。
Request request = new Request.Builder()
.cacheControl(new CacheControl.Builder()
.maxStale(365, TimeUnit.DAYS)
.build())
.url("http://www.example.com/getcountries.php")
.build();
第二个网址,我想设置缓存3分钟。
Request request = new Request.Builder()
.cacheControl(new CacheControl.Builder()
.maxStale(3, TimeUnit.MINUTES)
.build())
.url("http://www.example.com/getnews.php")
.build();
能否行得通?(有缓存的情况下,调试很困难)。
谢谢大家的支持。
这可以工作,但我想你要的是max-age而不是max-stale。缓存的响应写在时间 a 到时为止 b, 从响应的头文件中得出的时间。您在 最多停留时间 加到 b 来延长缓存响应的寿命。您在 最大年龄 加到 a 来限制缓存响应的有效时间。
https:/square.github.iookhttp4.xokhttpokhttp3-cache-control-builder。