fangmd / blogsource

6 stars 0 forks source link

Flutter 原理 #31

Open fangmd opened 3 years ago

fangmd commented 3 years ago

三棵树渲染机制

  1. Widget Tree: 存储UI配置
  2. Element Tree:UI 对象
  3. Render Tree: 绘制使用的对象

Widget createElement() 创建 Element; Element createRenderObject() 创建 RenderObject

作用:提高渲染性能

  1. Widget 对象是轻量级的,会不断创建销毁。
  2. 新的 Widget Tree 生成后会和旧的 Widget Tree 比较。Widget 不一致就重新创建 Element,一致(key也相等)就不会创建新 Element 和 RenderObject, 只需要修改 Element 和 RenderObject 中的值。