显示大量数据

Displaying large amount of data

我正在开发一个使用蓝牙传感器的移动应用程序。我的目标是在图形上可视化蓝牙数据。我的移动应用程序上有 3 个不同的页面:

当我有很多频道(比如在第二页,8 个频道)时,显示速度变慢了。它太慢了,我什至无法在页面之间切换。就像我点击但什么也没有发生一样,完全冻结。

我猜这是因为我正在使用的显示库。对于那些已经遇到同样问题的人,对 Flutter 中的实时图表有什么建议吗?我已经测试过Syncfusion,确实很卡。

非常感谢。

回答我自己的问题是因为发现了很多库,我找到了答案:我已经测试了 Flutter Charts 个库。它工作得很好,看起来也不错。即使我每页显示 +3 个频道,它也没有滞后,我可以轻松地在页面之间切换。

我们试图通过基于共享信息创建图表来复制报告的场景,即在第一页和第三页中,我们有一个包含 3 个系列的图表,在第二页中我们有一个包含 8 个系列的图表。并且每 300 毫秒更新一次图表,我们 运行 应用程序超过一个小时,不幸的是应用程序没有冻结。在上述情况下,我们已尝试将数据添加到图表中,但未删除任何数据。

为了获得更好的性能,我们建议使用 fast line 系列,并且为了更新数据源,请使用 updateDataSource 而不要使用 set state。设置状态将呈现 re-render 图表,updateDataSource 方法将跳过旧数据点处理、不必要的边界计算等。有关这些的更多信息,请参阅下面的用户指南。

https://help.syncfusion.com/flutter/cartesian-charts/chart-types/fast-line-chart https://help.syncfusion.com/flutter/cartesian-charts/methods#updatedatasource

我们还附上​​了下面用于测试的示例,

示例 link https://www.syncfusion.com/downloads/support/directtrac/general/ze/Whosebug1887344518.zip

此外,如果您使用的是大型数据集,我们建议使用 on-demand 加载功能。有关更多信息,请在下面找到用户指南和示例。如果这符合您的要求,您可以使用它。

微博:https://help.syncfusion.com/flutter/cartesian-charts/on-demand-loading 演示:https://flutter.syncfusion.com/#/cartesian-charts/infinite-scrolling