gpt4 book ai didi

flutter - 在 flutter 中滚动 ListView 时,网络图像不断消失?

转载 作者:行者123 更新时间:2023-12-03 02:39:59 25 4
gpt4 key购买 nike

我有一个 ListView ,其中加载了 api 中的图像,我注意到图像偶尔滚动时会持续消失几​​秒钟。这是仅在图像部分的代码:

Container(
padding: EdgeInsets.only(top:5.0,left:15.0,right:1.0,bottom:0.0),
constraints: new BoxConstraints.expand(
height: 130.0,
width: 150.0,
),
decoration: new BoxDecoration(
image: new DecorationImage(
image: NetworkImage(artworksAndEventsFinal[index]['thumbnail']),fit: BoxFit.cover,),
),
child: new Stack(
children: <Widget>[
new Positioned(
right: 0.0,
bottom: 0.0,
child: Container(
height: 24.0,
padding: EdgeInsets.only(top:5.0,left:10.0,right:5.0,bottom:5.0),
decoration: new BoxDecoration(
color: Theme.of(context).primaryColor,
),
child: new Text(artworksAndEventsFinal[index]['year'],
style: new TextStyle(
fontWeight: FontWeight.bold,
fontSize: 11.0,
color: Colors.white
)
),
)
),
new Positioned(
right: 3.0,
top: 0.0,
child: new Icon(Icons.favorite_border,color:
Colors.white,),
),
],
)
),

enter image description here

最佳答案

ListView 在可见时创建小部件。因此,只有可见的 child 拥有图像,而消失的 child 会删除小部件,而尚未加载的 child 则无法获取图像。
这种方法具有优化内存利用率的绝妙好处。假设您在 ListView 中有 1000 张带有图像的卡片,并且目前仅在屏幕上显示 2-3 个卡片,因此只有 2-3 个可见卡片图像将被加载,当用户滚动并从列表中取出其他卡片时,它只会在可见时加载图像。

如果你想缓存图片,请考虑使用包 Cached_network_image

关于flutter - 在 flutter 中滚动 ListView 时,网络图像不断消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57052924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com