有没有通用的经验法则where创建更优化的小部件(假设小部件不依赖于传递给 build() 的任何内容)?
如果我们在类中创建一个 Widget:
Foo({Key key}) : super(key: key);
Widget _widget = new Container(); // Create here?
我们只在创建类时创建一次。但是,如果该小部件不总是在 build() 中使用(例如后台小部件,或者小部件的可见性由标志确定),则它可能会占用空间。
如果我们在 build() 中创建小部件:
@override
Widget build(BuildContext context) {
Widget widget = new Container(); // Or create here?
return widget;
}
每次调用 build() 时都会重新创建小部件,这感觉成本很高,尤其是在小部件没有更改的情况下。
在 Flutter/Dart 中构造短期对象通常非常便宜,并且 widgets 层负责确保渲染树在重建时不会被修改,除非 widget 发生变化。所以在正常情况下缓存小部件并没有多大帮助。我倾向于在你的中构建小部件build()
方法,除非有一个行不通的原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)