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进行刷新,这个试的时候没有起作用,如有试过可以的话,可以通过留言联系,共同探讨一下。