Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 多次重建脚手架不好吗?_Flutter_Dart - Fatal编程技术网

Flutter 多次重建脚手架不好吗?

Flutter 多次重建脚手架不好吗?,flutter,dart,Flutter,Dart,假设您有一个底部导航栏和一个索引堆栈来处理布局更新。哪种代码模式性能最好 重建脚手架(如第二种方法)是否会在将来引起任何问题?可能是文本字段不断地打开和关闭键盘或其他类似的东西?很难测试所有东西,请告诉我你是否对这种方法有问题 ValueNotifier indexNotifier(); build=>Scaffold( appbar:appbar(), 正文:ValueListenableBuilder( valueListenable:indexNotifier, 生成器()=>body()

假设您有一个底部导航栏和一个索引堆栈来处理布局更新。哪种代码模式性能最好

重建脚手架(如第二种方法)是否会在将来引起任何问题?可能是文本字段不断地打开和关闭键盘或其他类似的东西?很难测试所有东西,请告诉我你是否对这种方法有问题

ValueNotifier indexNotifier();
build=>Scaffold(
appbar:appbar(),
正文:ValueListenableBuilder(
valueListenable:indexNotifier,
生成器()=>body()
),
bottomNavi:ValueListenableBuilder(
valueListenable:indexNotifier,
builder()=>bottomNavi()
),
)

ValueNotifier indexNotifier();
build=>ValueListenableBuilder(
ValueListenTable:indexNotifier,
生成器()=>脚手架(
appbar:appbar(),
body:body(),
bottomNavi:bottomNavi(),
),
)
根据,您应该避免更新操作在树中的位置过高,因为当小部件重新呈现其所有子部件时,也会重新呈现。您应该尝试通过将可列出的构建器本地化到UI实际需要更改的位置来优化重新呈现


在您的特定情况下,您在两个示例中收听的都是相同的
ValueNotifier
,因此当发生更新时,主体和底部导航都将重新呈现。如果您能够将主体所依赖的数据与底部导航所依赖的数据隔离开来,那么第一个示例的性能会更高,这样您就可以避免不必要的重新呈现。

如果通知程序的值是所选的bottomNavi页面,您能否提供一个性能更高的解决方案示例?