【问题标题】:Best way to load long image list in Flutter在 Flutter 中加载长图像列表的最佳方法
【发布时间】:2018-10-26 20:25:23
【问题描述】:

我有一个 ListView 用于使用 advanced network image plugin 加载图像列表,如下所示:

@override
  Widget build(BuildContext context) {
    super.build(context);

    return CachedNetworkImage(
      imageUrl: parseURLImageFromService(productImageURL),
      height: screen.width * ratio,
      placeholder: Container(
        alignment: AlignmentDirectional.center,
        child: CircularProgressIndicator(
          valueColor: AlwaysStoppedAnimation(
            CompanyColors.green[500],
          ),
        ),
      ),
      errorWidget: defaultLogoImage(screen, ratio),
      width: screen.width * (ratio * 0.75),
    );
  }
}

但是当我渲染应用程序时,所有图像都尝试同时加载,我想加载一个等待前一个的图像。

【问题讨论】:

  • 使用 Listview.builder 它只会加载您开始滚动时可见的图像,它会加载下一个图像。
  • 另一种解决方法是 - stackoverflow.com/a/49509349/10269042
  • 问题是图片需要很长时间才能加载,我不知道为什么......
  • 尝试使用 FadeinImage Widget 而不是 CachedNetworkImage
  • With FadeInImage 在图片的抓取过程中无法捕捉到错误

标签: listview dart flutter


【解决方案1】:

我找到了解决此问题的方法,但该解决方案与 Flutter 无关。主要问题是图像的大小和下载的网络速度,我解决了这个问题,在后端添加了一个功能,该功能在上传时调整图像大小。因此,当我显示图像列表时,我使用微型图像,当用户打开详细信息时,我会加载原始大小的图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    相关资源
    最近更新 更多