提升渲染性能
在应用中渲染动画是在衡量性能时最常被提及的关注点之一。由于 Flutter 的 Skia 引擎及其快速创建和处置 widget 的能力,Flutter 应用默认情况下性能就很高,因此您只需避免常见的陷阱即可实现出色的性能。
通用建议
#如果您看到卡顿(不流畅)的动画,请 **务必** 使用以 *profile* 模式构建的应用来分析性能。默认的 Flutter 构建会创建一个以 *debug* 模式构建的应用,这不能代表发布时的性能。有关信息,请参阅 Flutter 的构建模式。
几个常见的陷阱
- 每一帧都比预期重建了更多的 UI。要跟踪 widget 的重建,请参阅 显示性能数据。
- 直接构建大量子项列表,而不是使用 ListView。
有关评估性能的更多信息,包括常见陷阱的信息,请参阅以下文档
仅限移动设备的建议
#您是否注意到移动应用上的明显卡顿,但仅在动画首次运行时出现?为避免此问题,请确保您使用的是 Flutter 的默认图形渲染器 Impeller。
仅限 Web 的建议
#以下一系列文章涵盖了 Flutter Material 团队在改进 Flutter Gallery 应用在 Web 上的性能时学到的经验。