往期推文全新看点
- 鸿蒙(HarmonyOS)北向开发知识点记录~
- 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~
- 鸿蒙应用开发与鸿蒙系统开发哪个更有前景?
- 嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~
- 对于大前端开发来说,转鸿蒙开发究竟是福还是祸?
- 鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?
- 记录一场鸿蒙开发岗位面试经历~
- 持续更新中……
本文通过原理概念、优化场景和实践数据对比三个角度,详细介绍了组件嵌套的优化,着重从优化场景角度为开发者阐明组件嵌套的优化场景以及优化策略。
原理概述
本章节将从原理角度分析,通过ArkUI框架的执行流程,以及自定义组件的生命周期两个角度,来分析组件过度嵌套对性能的影响。
ArkUI框架执行流程
如上图所示,可以看到ArkUI框架的执行顺序:
- 执行ArKTS中的UI描述信息,通过UI描述API创建后端的页面节点树,其中包含了处理UI组件属性更新、布局测算、事件处理等业务逻辑;
- 通过FrameNode生成当前的界面描述数据结构——渲染树RenderTree,RenderTree描述了具体的元素在屏幕上的布局信息,包含大小、位置以及一些其他属性;
- 最后渲染线程会根据RenderTree的信息执行相应的绘制工作。
自定义组件的生命周期
如上图所示,自定义组件创建完成之后,在build函数执行之前,将先执行aboutToAppear()生命周期回调函数。执行完build函数后,还会有一些事件监听函数,例如可以使用onPageShow监听页面显示事件,onPageH