美文网首页
Flutter之视图的数据结构

Flutter之视图的数据结构

作者: 九月oc | 来源:发表于2021-10-06 14:27 被阅读0次

    Flutter的引擎在构建视图时,无论是底层的框架,还是应用层的代码,在向绘制引擎提供绘制信息的时候都需要一份相应的数据结构。类似于抽象语法树。

    Flutter的渲染分为三个部分即约束,绘制,合并。

    Layer Tree Flutter的数据结构抽象分为三部分, 分别是 Widget Element RenderObject。

    flutter 是通过一次深度遍历来渲染相应的图层的,自RenderObjectTree自上而下的传递Ofsset告诉子视图他们应该有的位置, 然后让子节点开始绘制自己。 每一个RenderObjecg节点的视图可能被绘制到多个图层(缓冲区), 最后合并成图像,被渲染到屏幕上。

    重绘:

    flutter中的widget是immutable的 也就是说创建了之后是不可更改的,每一次重绘都需要重新创建。

    在重绘的时候为了减少资源的消耗,会根据mount标识来绘制相应的widget是否需要刷新。

    同级的stateless和stateful 如果stateful调用setState则不会影响stateless 如果是对于stateful的子widget 调用setState则会刷新当前stateful下面的statelessWidet

    相关文章

      网友评论

          本文标题:Flutter之视图的数据结构

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