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

Les*_*ter 8 android imageview fresco

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

  Uri avaURI = Uri.fromFile(new File(getCacheDir(), Constants.AVA_FILE_NAME));
  simpleDrawee.setImageURI(avaURI);
Run Code Online (Sandbox Code Playgroud)

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

fro*_*anx 12

我相信你走在了正确的轨道上.旧图像可能存在两个以上的存储级别,其中最有可能从中拉回.它们会在60天后过期,我相信它也需要冲洗.

Fresco.getImagePipeline().evictFromMemoryCache(avaURI);

Fresco.getImagePipelineFactory().getMainDiskStorageCache().remove(new SimpleCacheKey(avaURI.toString()));
Fresco.getImagePipelineFactory().getSmallImageDiskStorageCache().remove(new SimpleCacheKey(avaURI.toString()));
Run Code Online (Sandbox Code Playgroud)

  • 我相信他们通过使用一体化方法为我们提供了一个更清晰的解决方案:Fresco.getImagePipeline().evictFromCache(uri); (6认同)