Android网络实战篇——OkHttp3(Retrofit2)五种缓存模式的实现

Android网络实战篇——OkHttp3(Retrofit2)五种缓存模式的实现,第1张

网上有许多写OKhttp3缓存文章,例如:

【Okhttp3结合Retrofit2 实现缓存】 https://www.jianshu.com/p/74d2c10c3eba?from=timeline

【使用Retrofit和Okhttp3实现网络缓存】 https://www.jianshu.com/p/34f73e571ecb

【okhttp3缓存实践】 http://blog.csdn.net/wuhengde/article/details/54927096

这些文章都很不错,但还是有一些小小的瑕疵,这里我参考他们的文章结合自己的实践简单封装了Okhttp3的五种缓存方式供大家参考,如有错误还请不吝赐教。

主要知识点:

public class OkHttpUtil {

}

后记:如有不同见解或疑惑,欢迎留言,如果觉得不错可以来个赞!点个赞!

从上篇文章 《OkHttp源码深入》 中,我们知道okhttp最后所有的请求都会经过getResponseWithInterceptorChain方法,进行拦截处理。面试中常问的拦截策略必属缓存拦截器CacheInterceptor的实现。

OKHttp中缓存策略

这里先做一个总结:

OkHttp中缓存机制实现大致流程是先判断是否执行强制缓存策略,不执行则请求服务端获取数据,然后判断执行对比缓存策略,接着更新缓存或新增缓存,最后返回response到上层拦截器

CacheInterceptor源码解析

默认情况下,okhttp是不开启缓存的

需要配置,提供Cache的写入位置和最大的缓存数量

需要在请求头中提供

Android 笔记: OkhttpInterceptor CacheInterceptor


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11948303.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存