Flutter加载网络图片,地址不变,图片刷新

flutter加载网络图片

Image.network(url)

flutter加载图片默认不刷新的原因

是因为图片本身采用了缓存的测试,如果没有处理,是会缓存上一次的图片,地址不变是认为是同一张图片,不会刷新

刷新处理方法

在图片的地址后面添加一个不重复的key,就可以刷新,因为key不同表示是不同的图片,在刷新的地方只需要通过setState((){})刷新key就可以了

setState(() {
    key=UniqueKey();
});

具体使用方式如下:

var imgKey=UniqueKey(); //初始化key

GestureDetector(
    onTap: _getAuthCode,
    child: ImageUtils.loadNetImageWithSizeBoxFit("https://xxx/getVerification?$imgKey"),  //加载图片
)

///刷新imgKey,获取新图片
void _getAuthCode() {
	setState(() {
	    imgKey=UniqueKey();
	});
}

网上有通过先清除缓存,然后再通过更新Image.network()中的key进行刷新,这个试的时候没有起作用,如有试过可以的话,可以通过留言联系,共同探讨一下。

猜你喜欢

转载自blog.csdn.net/xiaopihair123/article/details/127808264