我正在使用NetworkImage类来显示来自互联网的图像,以下是代码

return new Container(
        width: width,
        height: height,
        decoration: new BoxDecoration(
          color: const Color(0xff7c94b6),
          image: new DecorationImage(
            image: NetworkImage(url, headers: {"Authorization": token}),

            fit: fit,
          ),
          borderRadius: new BorderRadius.all(new Radius.circular(150.0)),
          border: new Border.all(
            color: Color(AppColors.surfacePrimary.hex),
            width: 0.0,
          ),
        ),
      );

但是,将缓存该图像,并且在服务器上更新该图像时,应用程序将显示旧的缓存图像。
如何停止NetworkImage上的缓存?

最佳答案

您可以使用以下方法逐出从URL加载的图像

 void evictImage() {
   final NetworkImage provider = NetworkImage(url);
   provider.evict().then<void>((bool success) {
     if (success)
       debugPrint('removed image!');
   });
 }

或者,您也可以在网址中添加随机查询部分
int counter = 0;
...
NetworkImage('https://example.com/images/image1.png?dummy=${counter++}');

08-04 09:12