Ily*_*man 11 android caching picasso
我一直在调查Picaso,Android的图像下载和缓存库.我发现他们的缓存机制基于Android HttpResponseCache.文件说:
为了测量缓存有效性,该类跟踪三个统计信息:
- 请求计数:自创建此缓存以来发出的HTTP请求数.
- 网络计数:需要网络使用的请求数.
- 命中计数:缓存提供响应的请求数.
那么Android Http缓存究竟是如何工作的呢?
HHK*_*HHK 11
答案如下.
1)Android如何知道缓存或不缓存文件,以及持续多长时间?
所述HttpResponseCache
高速缓存HTTP或HTTPS响应如果以下所有的为真
它是通过安装的 HttpResponseCache.install()
setUseCaches(true)
被叫HttpURLConnection
或HttpsURLConnection
HTTP/HTTPS服务器返回的标头允许缓存.请参阅ResponseHeaders.isCacheable()
实施细节.
缓存使用LRU策略将较旧的缓存响应替换为较新的缓存,以确保它不超过分配的磁盘大小.
2)什么时候清理完整的缓存,由谁?
如果缓存中有一个目录初始化Context.getCacheDir()
或Context.getExternalCacheDir()
再当应用程序被卸载的文件通常被删除.可以通过调用手动删除缓存HttpResponseCache.delete()
3)如何用自己的方式覆盖默认的http缓存机制?我应该吗?
见HttpResponseCache.install()
.如果您的应用程序通过HTTP或HTTPS加载了可缓存的资源,并且没有自己的缓存层,那么您应该考虑使用它.Android默认HttpResponseCache
实现应该可以正常工作.
请注意,默认情况下不使用缓存.你需要安装一个HttpResponseCache.install()
.
归档时间: |
|
查看次数: |
4071 次 |
最近记录: |