android - 如何在 CachedNetworkImage flutter 中清除缓存

标签 android caching flutter

我不想将图像存储在缓存中..我使用 CachedNetworkImage 进行图像加载.. 我想知道是否有任何选项可以像毕加索一样删除或不将图像存储在缓存中..

我的代码:

var annotatedImg = CachedNetworkImage(
      fit: BoxFit.fill,
      imageUrl: Constants.IMAGE_BASE_URL + widget._fileId + Constants.CONTOUR_IMG_SUFFIX,
      placeholder: (context, url) => progressBar,
      errorWidget: (context, url, error) => new Icon(Icons.error),
    );

我试过了

annotatedImg.cacheManager.emptyCache();

但它的显示不能调用 emptyCache 是 null..

最佳答案

自 CachedNetworkImage version 2.3 以来,所有这些解决方案都不起作用,因为它在 2 个不同的地方缓存图像(DefaultCacheManager 和 NetworkImageProvider)

所以唯一的解决方案是使用 CachedNetworkImage 中的 evictFromCache 内置方法

像这样:

Future _deleteImageFromCache() async {
    String url = "your url";
    await CachedNetworkImage.evictFromCache(url);
  }

evictFromCache 是一个静态方法,因此它不需要在您的 Widget 树中有 CachedNetworkImage,您可以从任何地方直接使用它。

关于android - 如何在 CachedNetworkImage flutter 中清除缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57059306/

相关文章:

java - OkHttp 2.0 手动验证正在使用的密码套件

android - 无法解析 android 中 Dagger 组件的符号

django - 在 memcached 过期场景中避免 dog-piling 或 thundering herd

flutter - 如何判断flutter是否在模拟器中运行

android - CoordinatorLayout导致FrameLayout落后于底部导航栏

android - Android 上的 Kafka 生产者

date - 从字符串中获取日期并在Flutter Dart中转换为Date对象

Dart:替换两个其他字符串之间的字符串

caching - "Expected type parameter, found reference to type parameter"实现通用缓存结构时

java - 如何在Hybris中安装ywebfragmentcache?