整个渲染过程分为两个阶段: (1)初始显示流程(步骤①~⑤)
① 源代码通过相应的工具链,编译为带有类型标志的目标文件,同时也包含了如何创建UI结构信息的指令流。
② 通过跨语言调用并生成了C++层Component树(UI描述层)。
③ 通过Component树进一步生成Element树。Element是Component的实例,表示一个具体的组件节点,它形成的Element树负责维持界面在整个运行时的树形结构,方便计算更新时的局部更新算法等。
④ 对于每个可显示的Element都会为其创建对应的RenderNode。RenderNode负责一个节点的显示信息,它形成的Render树维护着整个界面渲染需要用到的信息,包括位置、大小、绘制命令等。后续的布局、绘制都是在Render树上进行的。
⑤ 实现真正的渲染并显示绘制结果。