美文网首页
Flutter Tree

Flutter Tree

作者: krcm110 | 来源:发表于2020-05-06 11:03 被阅读0次

    A.Flutter Tree (Flutter包含三种树)

    A1.Widget:

    存放渲染内容、视图布局信息,widget 的属性最好都是 immutable

    A2.Element:

    存放上下文,通过 Element 遍历视图树,Element 同时持有 Widget 和 RenderObject

    A3.RenderObject

    根据 Widget 的布局属性进行 「布局(layout)」、「绘制( paint)」出Widget 传入的内容

    下面通过画的图来了解一下:

    这个3棵树的关系是Futter在构建的时候首先会创建Widget这个棵树,然后通过WidgetTreeRoot构建ElementTree,再更具ElmentTreeRoot构建RenderTree.RendetTree就会把最终的显示效果展现给大家。

    1.所有的Widget 最终都会被ComponentElment持有,而ComponentElment最终都实现了BuildContext.也就是说Elment就是BuildContext.

    2.StatelessWidget和StatefulWidget本质上一样的都是@immutable的之所以StatefulWidget本称做有状态变化是因为StatefulWidget继承了State,用于记录StatefulWidget会变化的状态,并且根据状态的变化,构建出新的Widget。

    3.

    相关文章

      网友评论

          本文标题:Flutter Tree

          本文链接:https://www.haomeiwen.com/subject/tatywhtx.html