-
Widget
用来描述视图(界面)看起来是什么样子的,可以通过对widget进行配置和修改状态来调整。
当state改变时,widget会重新生成描述,框架会对比两个描述,来确定render tree上的最小的变化。
开发中创建的widget通常都是StatelessWidget
orStatefulWidget
。widget的主要工作是实现build函数,在build函数中就是通过其他低级的widget来描述这个widget。
框架会从widget树从上往下依次build这些widget,直到build到能够代表底层RenderObject的Widget。 -
widget tree
其根就是runApp的参数。runApp方法定义在flutter包“widget/binding.dart”文件中。
框架强制根widget覆盖整个屏幕。
-
render tree 渲染树
-
RenderObject
计算并描述widget的几何形状。
在api文档中,对RenderObject的解释就是render tree中的一个对象。
具体可见 -
Layer
在绘画期间,渲染树生成用来组合层的树,这些层被上传到引擎并由合成器显示。
具体参考文章 已翻译Layer。
网友评论