【问题标题】:Android Picasso clear image from disk and cacheAndroid Picasso 从磁盘和缓存中清除图像
【发布时间】:2016-06-25 05:17:16
【问题描述】:

我正在使用 Picasso 进行图像加载,我将它与 NetworkPolicy.OFFLINE 一起使用, 但在某些时候我想从互联网更新图像,我正在尝试

Picasso.with(context).invalidate(url);
Picasso.with(context).load(url).memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE).networkPolicy(NetworkPolicy.NO_CACHE);

但是图片还是从磁盘上取的,只是缓存失效了。

【问题讨论】:

    标签: android picasso image-loading image-caching


    【解决方案1】:

    使用这个:

    Picasso.with(context).load(url).memoryPolicy(MemoryPolicy.NO_CACHE).into(image);
    

    【讨论】:

    • 有什么区别,“.into()”?我想在应用启动时使缓存无效,然后我仍然没有要加载的视图。
    【解决方案2】:

    您可以使用以下代码以编程方式清除缓存。您可以在需要从 API 获取图像之前使用此代码。 如果您希望 PICASSO 从不缓存图像,您可以使用 waseem 共享的代码。但是如果你需要它来缓存,但有时你需要从 API 获取图像,你可以清除缓存。

    public static void trimCache(Context context) {
          try {
             File dir = context.getCacheDir();
             if (dir != null && dir.isDirectory()) {
                deleteDir(dir);
             }
          } catch (Exception e) {
             // TODO: handle exception
          }
       }
    
    
      public static boolean deleteDir(File dir) {
      if (dir != null && dir.isDirectory()) {
         String[] children = dir.list();
         for (int i = 0; i < children.length; i++) {
            boolean success = deleteDir(new File(dir, children[i]));
            if (!success) {
               return false;
            }
         }
         return dir.delete();
      }
      else {
         return false;
      }
    

    【讨论】:

    • 这将清除所有图像的缓存,而不仅仅是一张?
    • 我用于清除所有缓存 public class PicassoTools { public static void clearCache(Picasso p) { p.cache.clear(); } }
    • 可能和我的代码一样 :) 不确定 :)
    【解决方案3】:

    所以当我还没有任何可用的视图时,我调用了这个。 关键是调用触发覆盖缓存的 .into() 方法。 所以我只用这个:

    Picasso.with(context).load(url).into(new ImageView(context));
    

    【讨论】:

      猜你喜欢
      • 2016-01-29
      • 1970-01-01
      • 1970-01-01
      • 2015-05-16
      • 1970-01-01
      • 2015-10-01
      • 2023-03-13
      • 2022-12-20
      • 2014-06-16
      相关资源
      最近更新 更多