Flutter NetworkImage 加载时间过长

Meg*_*min 4 dart flutter

所以我试图在 Inkwell 小部件上加载近一千个 gif,其中包含一个盒子装饰图像网络中的 Hero 子元素,我想了解处理此问题的最佳实践,因为加载需要很长时间,我希望它通过第一个出现的,无论是正常的还是通过过滤的,那么 flutter 开发人员如何处理这个问题呢?

那么我如何通过决定首先加载哪个 NetworkImage 来支持慢速互联网用户

      InkWell(
      onTap: (){
        Navigator.push(context, MaterialPageRoute(builder:(context)=>GifDetail(
          gifs: gifs,
        )));
      },
      child: Hero(
        tag: gifs.url,
        child: Card(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children: <Widget>[
              Container(
                height: 110,
                width: 110,
                decoration: BoxDecoration(
                  image: DecorationImage(image: NetworkImage(gifs.url))
                ),
              ),
            ],
          ),
        ),
      ),
    ),
Run Code Online (Sandbox Code Playgroud)

Gra*_*amD 6

您可以尝试使用 Cached_network_image 包。最初加载图像仍需要相同的时间,但随后图像会保留在设备上,因此下次加载速度会快得多。确实没有办法绕过图像的初始下载。

通过 ListView.builder 或 GridView.builder 加载只会在滚动之前加载初始视图中的图像,因此也应该有所帮助。