繁体   English   中英

如果 setImageURI 设置了一次,我如何更新壁画 SimpleDraweeView 的图像

[英]How I can update image of fresco SimpleDraweeView, if it was set once by setImageURI

我正在使用 Facebook Fresco 库和 SimpleDraweeView 来显示文件中的头像图像:

  Uri avaURI = Uri.fromFile(new File(getCacheDir(), Constants.AVA_FILE_NAME));
  simpleDrawee.setImageURI(avaURI);

但是如果我用图片更改了文件(删除了以前的文件并用新图像创建了相同的文件),我该如何更新(刷新)SimpleDraweeView? 它仍然显示旧版本的图像。 (我试图通过Fresco.getImagePipeline().evictFromMemoryCache(avaURI);禁用缓存,但它没有帮助)。

我相信你是在正确的轨道上。 旧映像可能存在于另外两个级别的存储中,最有可能从中拉回。 我相信这些会在 60 天后过期,因此也需要刷新。

Fresco.getImagePipeline().evictFromMemoryCache(avaURI);

Fresco.getImagePipelineFactory().getMainDiskStorageCache().remove(new SimpleCacheKey(avaURI.toString()));
Fresco.getImagePipelineFactory().getSmallImageDiskStorageCache().remove(new SimpleCacheKey(avaURI.toString()));
ImagePipeline imagePipeline = Fresco.getImagePipeline();
    imagePipeline.evictFromCache(Uri);
    imagePipeline.clearCaches();
draweeView.setImageURI(Uri);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM