从缓存中删除图像抖动不起作用

问题描述 投票:0回答:1

我尝试使用

evict()
类中的
NetworkImage
方法从 flutter 缓存中删除单个图像条目,但它一直失败。

这是我如何驱逐的:

final NetworkImage provider = NetworkImage(url);
try {
   bool res = await provider.evict();
   print("eviction result : $res");
} catch (error) {
   print(error.toString());
}

以及我的图像是如何渲染的:

CircleAvatar(
      radius: 80,
      backgroundImage: NetworkImage(url))),

控制台中打印

flutter: eviction result : false
并且图像缓存不会被删除。知道我错过了什么吗?

flutter
1个回答
0
投票

我也偶然发现了这个问题,发现你也可以直接从 imageCache 中清除它:

final path = "http://not-a-real-url.com/image.png";
try {

  /// Info:
  /// The "key" in "imageCache" is an object (!) and not a String.
  /// So you need to explicitly wrap your url with e.g. NetworkImage(path)

  final res = imageCache.evict(NetworkImage(cachekey), includeLive: true);
  print("eviction result : $res");
} catch (error) {
  print(error.toString());
}
© www.soinside.com 2019 - 2024. All rights reserved.