【问题标题】:Flutter NetworkImage takes too long to loadFlutter NetworkImage 加载时间过长
【发布时间】:2019-12-24 20:49:26
【问题描述】:

所以我试图在 Inkwell 小部件上加载接近一千个 gif,并在 boxdecoration 图像网络中使用 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))
                ),
              ),
            ],
          ),
        ),
      ),
    ),

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

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

    【讨论】:

    • 通过 ListView builder 或 gridview.builder 加载只会在初始视图中加载图像,直到您滚动,所以也应该有所帮助。
    猜你喜欢
    • 2020-10-08
    • 2021-11-08
    • 1970-01-01
    • 2021-01-31
    • 2012-08-23
    • 2016-06-20
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多