Cache类中get()方法就是读取缓存中响应体Response
看下源码:
以上是Cache类中get()方法所有源码,接下来对一些重要点进行分析:
首先在源码中:
snapshot = cache.get(key);
我们到 DiskLruCache中去查看这个get()方法
可以知道通过解密后的key值获取的Snapshot 对象值。
接下来是:
Response response = entry.response(snapshot);
到Entry中的response(...)方法去查看
总结:
1:通过请求Url获取到Snapshot对象。
2:通过Snapshot对象创建Entry对象。
3:通过Entry对象的response(...)方法获取到响应体Response对象。
4:最后通过entry.matches(request, response)进行成对的匹配判断,如果匹配就换回Response响应对象,不匹配就返回null并关闭获取流。