鸿蒙-arkUI性能优化

104 阅读1分钟

精简节点数

  1. 执行过程 image.png ArkUI描述=>(build)后端页面节点树=>(render) 渲染树

节点树由CustomNode组成,渲染树由RenderNode组成,UI线程会对每个元素进行测算和布局

  • 测算:负责确定组件对象的测量宽高

  • 布局:确定最终组件的宽高和顶点位置

  1. 优化方式

优化布局可以从减少节点数和测算布局耗时方面进行优化

  1. 减少总结点数

3.1 移除冗余节点

3.2 使用扁平化布局

通过RelactiveContainer和Grid降低层级并减少节点数量

合理控制元素的显示与隐藏

  1. 对性能要求较高,并且频繁切换显示与隐藏的情况下,使用visibility

  2. 创建时消耗资源,且只有特定条件下出现,使用if

给定宽高

对于不需要自适应的元素,给定固定的宽高,相对于百分比和未设置时,减少了测算和布局,从而优化了性能

使用推荐的布局组件

  1. 如果多种布局方式可以实现相同的布局效果,优先使用低耗时布局Row、Column

  2. 如何可以优化节点数量的情况下,使用RelactiveContainer实现扁平化布局

  3. 在特定的情况下,使用高耗时布局,Flex实现折行,Grid实现网格等