我已经看到了这里提出的所有解决方案,但没有什么对我真正有用。
如何在我的应用程序中清除毕加索的缓存?
我尝试使用无效 - 不起作用。我看到了有关 Picasso.cache.clear 的一些内容,但无法直接访问缓存。
(请不要建议我使用 NO_CACHE)
谢谢。
我已经看到了这里提出的所有解决方案,但没有什么对我真正有用。
如何在我的应用程序中清除毕加索的缓存?
我尝试使用无效 - 不起作用。我看到了有关 Picasso.cache.clear 的一些内容,但无法直接访问缓存。
(请不要建议我使用 NO_CACHE)
谢谢。
将此类添加到 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
PS 我强烈推荐使用glide而不是 picasso,它具有更强大的缓存控制功能和很棒的下载回调来捕获下载错误,例如
更新你的毕加索图书馆:
compile 'com.squareup.picasso:picasso:2.5.2'
. 仅适用于 gradle 版本
2.5.0及更高版本。Picasso.invalidate()
并清除缓存使用以下功能:
Picasso.with(context).invalidate(file);