gpt4 book ai didi

android - 清除 Android picasso 图像库的磁盘/SD 卡缓存

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:34:45 25 4
gpt4 key购买 nike

我正在使用 Picasso 从我的服务器加载图像。它工作正常,但我正在加载图像,稍后更改它。但是 Picasso 将图像缓存在磁盘的某个位置(我检查了 SD 卡,但找不到 Picasso 存储的任何目录)。

我尝试按照这个问题的已接受答案的建议删除缓存:Invalidate cache in Picasso

我还尝试在使用加载图像时跳过缓存:Picasso.with(ctx).load(new File("/path/to/image")).skipMemoryCache().into(imageView)

但是这些方法都不起作用。

感谢任何可以帮助我解决这个问题的建议或提示。

最佳答案

Picasso 磁盘图像缓存在应用程序内部缓存目录中。在此处查看方法 createDefaultCacheDir https://github.com/square/picasso/blob/master/picasso/src/main/java/com/squareup/picasso/Utils.java

你可以像这样清除getCacheDir/picasso-cache中的所有图片

   public boolean clearImageDiskCache() {
File cache = new File(mContext.getApplicationContext().getCacheDir(), "picasso-cache");
if (cache.exists() && cache.isDirectory()) {
return deleteDir(cache);
}
return false;
}

删除目录下的所有文件

public static boolean deleteDir(File dir) {
if (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;
}
}
}
// The directory is now empty so delete it
return dir.delete();
}

关于android - 清除 Android picasso 图像库的磁盘/SD 卡缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25453106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com