【发布时间】:2021-07-24 11:33:01
【问题描述】:
要优化 Flutter App 的性能,重要的是仅在实际需要重建 Widget 时才重建它们。在使用const Widgets、TransitionBuilder pattern、Keys 和overwritten the == operator 之间似乎有不同的方法来减少 Widget 重建,但我不知道如何交互。
官方文档建议在构建方法中做尽可能少的工作。这与在 Widget 的构造函数中完成的工作相比如何?构造函数的调用频率是否与构建函数一样频繁,多于还是少于它?如果我有 Stateful Widget,是否可以通过在 state 中而不是在构造函数或 build 方法中缓存一些数据来提高性能?
在 Reddit 上有一个关于使用 functions vs. Stateless Widgets 的讨论,其中一些人认为无状态小部件会导致更少的重建,而另一些人则认为没有区别。我想充分了解 Flutter 的 Widget Lifecycle,以了解在特定情况下两者之间是否存在差异。
我正在寻找有关这些不同机制如何交互的解释,以便就如何减少我的应用中不必要的 Widget 构建做出正确的决定。
【问题讨论】: