From c2070f42c41db79acd7cc751afc63ce0a70abedf Mon Sep 17 00:00:00 2001 From: wild-mucor Date: Fri, 4 Jul 2025 10:39:31 +0800 Subject: [PATCH] feat:add performance overview Signed-off-by: wild-mucor --- zh-cn/application-dev/ui/Readme-CN.md | 3 ++ .../ui/arkui-performance-overview.md | 32 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 zh-cn/application-dev/ui/arkui-performance-overview.md diff --git a/zh-cn/application-dev/ui/Readme-CN.md b/zh-cn/application-dev/ui/Readme-CN.md index 4ea12a18025..373b4e7b1a2 100755 --- a/zh-cn/application-dev/ui/Readme-CN.md +++ b/zh-cn/application-dev/ui/Readme-CN.md @@ -243,6 +243,9 @@ - [查询和操作自定义节点](ndk-node-query-operate.md) - [通过EmbeddedComponent拉起EmbeddedUIExtensionAbility](ndk-embedded-component.md) - [在NDK中保证多实例场景功能正常](ndk-scope-task.md) +- ArkUI高性能开发 + - [性能优化概览](arkui-performance-overview.md) + - UI开发 (兼容JS的类Web开发范式) - [UI开发 (兼容JS的类Web开发范式)概述](ui-js-overview.md) - 框架说明 diff --git a/zh-cn/application-dev/ui/arkui-performance-overview.md b/zh-cn/application-dev/ui/arkui-performance-overview.md new file mode 100644 index 00000000000..962a48eec13 --- /dev/null +++ b/zh-cn/application-dev/ui/arkui-performance-overview.md @@ -0,0 +1,32 @@ +# UI性能优化概览 + +优化应用的性能对于提升用户体验至关重要。本文将介绍ArkUI提供的性能优化相关的机制和优化思路。 + +## UI性能优化的核心思路 + +UI性能优化的核心思路可以总结为以下五点: + +1. 惰性加载优先:推迟非可视区域的资源消耗 +2. 布局计算简化:降低组件层级和复杂度 +3. 更新代替重建:避免反复重建带来的冗余开销 +4. 状态精确控制:使用恰当的状态变量精确驱动组件刷新 +5. 工具驱动优化:使用数据而非直觉指导优化方向 + +下面逐一介绍如下: + +## 惰性加载优先 +将可视范围外的部分进行惰性加载可以加快应用启动和页面的切换的速度。ArkUI提供了[LazyForEach](state-management/arkts-rendering-control-lazyforeach.md)组件来支持应用方便的进行数据的懒加载。 + +## 布局计算简化 +应用开发中的用户界面(UI)布局是用户与应用程序交互的关键部分。不合理的布局越多,视图的创建、布局、渲染等流程所需的时间就越长。因此,减少嵌套层次或者使用高性能布局节点,可以减少丢帧卡顿。可以参考这些[布局技巧](../performance/reduce-view-nesting-levels.md)来优化布局性能。 + +## 更新代替重建 +在滚动容器的滑动过程中,一边的组件划出屏幕被释放,另一边的组件划入屏幕需要创建,反复的释放和创建明显是冗余的。ArkUI提供了[组件复用能力](state-management/arkts-reusable.md),可以对自定义组件进行标记,在被标记的自定义组件释放时将其放入缓存池,再下次需要创建时从缓存池中拿出,用刷新代替创建。使用场景可以参考[组件复用的基本原理和使用技巧](../performance/component-reuse-overview.md) + +## 状态精确控制 +[状态管理](state-management/arkts-state-management-overview.md)是ArkUI声明式的核心机制,开发者需要根据实际的场景[正确使用状态管理](state-management/properly-use-state-management-to-develope.md),同时在使用的过程中应注意[状态管理的使用技巧](state-management/arkts-state-management-best-practices.md) + +## 工具驱动优化 +性能优化应以数据而非直觉驱动,当前IDE提供了两个性能分析工具,可以进行UI的性能分析: +1. CPU Profiler:用于在运行过程中抓取trace和调用栈对耗时点进行分析,使用方法可以参考[CPU Profiler的使用指导](../performance/application-performance-analysis.md)分析的思路可以参考[常用Trace的含义](../performance/common-trace-using-instructions.md) +2. ArkUI Inspector:用于dump UI组件树,分析UI的布局层次和参数,使用方法可以参考[ArkUI Inspector使用说明](../performance/arkUI-inspector.md) -- Gitee