网上有许多写OKhttp3缓存的文章例如:
这些文章都很不错,但还是有一些小小的瑕疵这里我参考他们的文章结合自己的实践简单封装了Okhttp3的五种缓存方式供大家参考,如有错誤还请不吝赐教
- Interceptor的访问机制:在有网状态下先访问应用拦截器,再访问网络拦截器;而在无网络状态只访问应用拦截器;
- 缓存实现思路:在网络拦截器中请求网络数据并缓存到本地而后在应用拦截器中访问本地缓存;
- 缓存类别:缓存可分为在线缓存和离线缓存,在线缓存例如客户端在短时间内多次请求网络数据这时就可将在线缓存数据返回,但是要注意这个缓存的有效期不要太长了否则服务端数据妀变了不能及时更新;离线缓存例如在无网络状态下想要客户端还能有数据展示,就需要长时间缓存到本地并在有网状态下及时更新缓存數据;
后记:如有不同见解或疑惑欢迎留言,如果觉得不错可以来个赞!点个赞!