【问题标题】:Render an image only when it'll visible仅在图像可见时渲染图像
【发布时间】:2021-07-23 14:33:52
【问题描述】:

我可以只渲染在滚动视图中可见的图像吗?

我的应用程序有一个包含许多产品的列表视图,当我向下滚动多次时,我的应用程序的性能下降(我使用的是惰性列表),我想这是因为有很多图像(来自网络)渲染了我的屏幕。

我正在考虑做类似的事情:

【问题讨论】:

  • 我认为builder 已经为我们做到了。喜欢Listview.builder
  • @YeasinSheikh 我已经想到了,但我不明白为什么当我滚动很多次时性能下降。
  • 您是否使用itemBuilder 而不是孩子?如果您仍有问题,请告诉我们 - 我对您的问题投了赞成票

标签: flutter performance dart


【解决方案1】:

您需要将Listview.builderitemBuilder 一起使用,而不是孩子

它将允许您仅渲染屏幕上的内容在不久的将来可能会滚动的内容 -你的表现会大大提高

  • 我建议在 Flutter.io 上观看 Flutter 团队的 this video 关于此主题(延迟加载大列表视图) - 如果您想深入了解该主题

【讨论】:

  • 您可以编辑其他答案!如果这是一个建议,评论就足够了。
  • 你可以看到我删除的答案吗?
  • 这是我的新答案,更好
  • 我应该在视频中加入 YouTube 链接吗?如果可以的话,我现在没有?
  • 我看了你发的视频,真的对我有帮助! @Aristidios
【解决方案2】:

只要你能找到,就使用.builder

创建按需创建的可滚动的线性小部件数组。

此构造函数适用于具有大量(或无限)子级的列表视图,因为仅对那些实际可见的子级调用构建器。 更多关注ListView.builder

【讨论】:

    猜你喜欢
    • 2015-06-29
    • 2022-08-12
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-21
    • 2014-02-03
    相关资源
    最近更新 更多