InheritedWidget的性能

时间:2018-07-09 17:02:54

标签: flutter

InheritedWidget是否通过explained in this video的构建演练将数据传递给其子代?或如何运作?表现如何? 因为我意识到只有在build方法中以及依赖项发生更改时才能从InheritedWidget中获取信息。

1 个答案:

答案 0 :(得分:1)

此视频讲述的是完全不相关的内容。这是关于如何计算布局的。

至少可以说,

InheritedWidget相当有表现。如inheritFromWidgetOfExtactType的文档所述:

  

调用此方法的原因是常数较小的O(1)

这意味着任何窗口小部件都可以直接访问任何InheritedWidget

相比之下,与StateancestorStateOfType的等效项是O(N)。 因为它必须遍历整个树才能找到所需的State实例。


在引擎盖下,InheritedWidgetMap<Type, InheritedElement>表示某处

然后,在调用inheritFromWidgetOfExactType时,访问所需值就像map[type]一样简单。