OkHttp Cache缓存get 源码分析

image
image
Cache类中get()方法就是读取缓存中响应体Response

看下源码:


image.png

以上是Cache类中get()方法所有源码,接下来对一些重要点进行分析:
首先在源码中:

snapshot = cache.get(key);

我们到 DiskLruCache中去查看这个get()方法


image.png

image.png

可以知道通过解密后的key值获取的Snapshot 对象值。
接下来是:

Response response = entry.response(snapshot);

Entry中的response(...)方法去查看


image.png

image.png

总结:

1:通过请求Url获取到Snapshot对象。
2:通过Snapshot对象创建Entry对象。
3:通过Entry对象的response(...)方法获取到响应体Response对象。
4:最后通过entry.matches(request, response)进行成对的匹配判断,如果匹配就换回Response响应对象,不匹配就返回null并关闭获取流。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容