【问题标题】:Picasso cache clear毕加索缓存清除
【发布时间】:2016-08-10 04:00:05
【问题描述】:

我已经看到了这里提出的所有解决方案,但没有什么真正适合我。

如何清除应用中毕加索的缓存?

我尝试使用无效 - 不起作用。 我看到了有关 Picasso.cache.clear 的东西,但无法直接访问缓存。

(请不要建议我使用 NO_CACHE)

谢谢。

【问题讨论】:

  • 在直接跳到其他解决方案之前,您能否发布一个示例,说明您尝试过的 invalidate 方法无法更好地理解问题?

标签: android caching picasso clear-cache


【解决方案1】:

get from this answer

将此类添加到 com.squareup.picasso 包中。

package com.squareup.picasso;

public class PicassoTools {

    public static void clearCache (Picasso p) {
        p.cache.clear();
    }
}

因为缓存具有包可见性,所以这个 util 类可以为您清除缓存。你只需要调用它:

PicassoTools.clearCache(Picasso.with(context));

只需将此文件添加到路径.../java/com/squareup/picasso

附注我强烈建议使用glide 而不是 picasso,它具有更强大的缓存控制功能和很棒的下载回调来捕获下载错误,例如

【讨论】:

    【解决方案2】:

    更新您的毕加索图书馆:

    compile 'com.squareup.picasso:picasso:2.5.2'

    As Picasso.invalidate() 仅适用于 gradle 版本 2.5.0 及更高版本。

    并使用以下函数清除缓存:

    Picasso.with(context).invalidate(file);
    

    【讨论】:

      猜你喜欢
      • 2014-04-10
      • 2015-02-14
      • 2015-05-07
      • 2016-12-31
      • 2016-03-17
      • 2019-05-26
      • 2016-01-20
      • 2014-11-03
      • 1970-01-01
      相关资源
      最近更新 更多