作者回复: 赞
作者回复: 赞
作者回复: Element是可复用的,只要Widget前后类型一样。比如Widget是蓝色的,重建后变红色了,Element是会复用的。所以是多个Widget(销毁前后)会对应一个Element
作者回复: 可以这么理解
作者回复: ScrollController确实还不支持,可以关注下这个issue:https://github.com/flutter/flutter/issues/12319
作者回复: 变了就销毁重建
作者回复: 绘制侧重绘图命令(GPU前),渲染侧重最终呈现(GPU后)
作者回复: 两层意思:1.表示Widget是一个配置,Element才是最终的对象;2.Element是通过遍历Widget树时,调用Widget的方法创建的
作者回复: 这块RenderObject帮你自动做了,一般情况下不需要管这么底层的渲染机制。
作者回复: UIKit其实没有widget这一层
作者回复: RenderObjectWidget是渲染的起点,也是这些对象的载体啊。它自己不负责他们的创建和更新,但是提供了创建和更新的方法让框架在合适的时机调用
作者回复: 交给build中返回的那个Widget去做布局/绘制
作者回复: 按照这个标准他俩对应Element更合适
作者回复: 大部分对;Element主要是做复用判断的,所以每个Widget都有Element,RenderObject只有可视的控件才有