JakeWharton的DiskLruCache自动清除
问题描述:
使用Picasso和okhttp来下载和缓存图像到磁盘上。 我使用下面的代码片段为okhttp客户端设置一个10MB的缓存并将其用于Picasso。JakeWharton的DiskLruCache自动清除
File folder = new File(context.getCacheDir(),"HomePageCache");
if (!folder.exists())
folder.mkdir();
okHttpClient.setCache(new com.squareup.okhttp.Cache(folder, 1024 * 1024 * 10));
OkHttpDownloader okHttpDownloader = new OkHttpDownloader(okHttpClient);
picasso = new com.squareup.picasso.Picasso.Builder(context).indicatorsEnabled(true).downloader(okHttpDownloader).build();
这是可以正常使用的大部分时间缓存和重新加载图像,即使离线,但问题是,有时它只是清除图片缓存完全。
我正在检查图像缓存的大小,只是为了确定,它从未跨过2 MB。
是否有任何其他原因为什么我的缓存清除?
LastRecentlyUsed可能是一个原因,也检查图像响应的缓存过期标题。 –