【发布时间】:2021-07-08 15:28:33
【问题描述】:
我最近在 Flutter 中完成了一个小型项目,当我尝试在运行时实现主题更改时,我遇到的大多数答案都涉及将我的 MaterialApp(具有主题)置于 StatefulWidget 或 Consumer 之下一些。
据我了解,当遇到某些更改(StatefulWidget 的状态更改或我提供给 Consumer 的任何 ChangeNotifier 的更改)时,这两种解决方案都会继续重绘 MaterialApp 下方的整个小部件树。
所以我的主要问题是:这不是非常昂贵且不推荐吗?我的整个应用小部件树是否正在重绘(假设大部分都在 MaterialApp 下方)?
其次:为什么不调用 MaterialApp 树深处的一些我自己的小部件的构建方法?这意味着文档所暗示的昂贵的重建实际上并没有完成。什么给了?
提前致谢!
【问题讨论】:
-
不确定如何在不重建整个应用程序的情况下更改应用程序的整个配色方案。昂贵与否,它在几毫秒内发生,就用户而言立即发生。它不会影响用户体验,因为它不会在他们使用应用程序的任何事情时持续发生。
标签: performance flutter dart flutter-widget