毕加索会自动从picasso-cache目录中删除未使用的图像吗?

时间:2015-12-23 09:04:58

标签: android picasso

picasso会自动从picasso-cache目录中删除未使用的图像,还是我们必须手动调用jQuery('body').on('click', '.some_div', function (e) { // Long and fancy code }); jQuery(window).resize(function () { // Do the same fancy stuff (identical code) }); 来删除它们?

1 个答案:

答案 0 :(得分:0)

Picasso基本上可以使用以下两个HTTP客户端:OkHttp库或UrlConnection类。如果你是OkHttp,毕加索将通过OkHttpDownloader课程加载图片,如果你使用UrlConnection,那么毕加索将使用UrlConnectionDownloader

现在,在这两种情况下,下载程序都有自己的缓存机制。 UrlConnectionDownloader将缓存设置为:

  if (cache == null) {
    long maxSize = Utils.calculateDiskCacheSize(cacheDir);
    cache = HttpResponseCache.install(cacheDir, maxSize);
  }

...和OkHttpDownloader设置缓存如下:

this(defaultOkHttpClient());
try {
  client.setCache(new com.squareup.okhttp.Cache(cacheDir, maxSize));
} catch (IOException ignored) {
}

我们可以看到,在这两种情况下,我们都有一个大小限制的缓存目录。所以,你的问题的答案是:是的,如果缓存图像的总大小超过缓存的大小限制,Picasso会删除缓存的图像。