鸿蒙HarmonyOS性能优化实战-页面布局检查器ArkUI-Inspector使用教程
目录
鸿蒙(HarmonyOS)性能优化实战-页面布局检查器ArkUI Inspector使用教程
DevEco Studio内置ArkUI Inspector工具,开发者可以使用ArkUI Inspector,在DevEco Studio上查看应用在真机上的UI显示效果。利用ArkUI Inspector工具,开发者可以快速定位布局问题或其他UI相关问题,同时也可以观察和了解不同组件之间的布局关系和属性,学习如何通过布局属性来控制组件的显示方式。
使用约束
已通过USB连接设备并在设备上打开需要调试的设备。
仅在应用为debug编译模式时使用。
仅支持OpenHarmony API 9及以上版本的Stage工程。
场景示例
示例代码使用Grid组件来实现网格布局,在子组件Text组件的外层嵌套了3层Stack容器。
@Entry
@Component
struct ArkUIInspectorExample {
@State children: Number[] = Array.from(Array(900), (_, k) => k);
build() {
Scroll() {
Grid() {
ForEach(this.children, (item: Number) => {
GridItem() {
Stack() {
Stack() {
Stack() {
Text(item.toString()).border({ width: 2, color: Color.Green })
}
}
}
}
}, (item: Number) => item.toString())
}
.columnsTemplate('1fr 1fr 1fr 1fr')
.columnsGap(0)
.rowsGap(0)
.size({ width: "100%", height: "100%" })
}
}
}
如何使用页面布局检查器
以DevEco Studio 4.0.0.400版本为例,在DevEco Studio菜单栏上单击View > Tool Windows
ArkUI Inspector
,或者在DevEco Studio底部工具栏单击
打开ArkUI Inspector工具,如下图所示:
- 进程选择栏,选择已经在设备上打开的应用进程。点击右侧 “Refresh”按钮以刷新当前页面快照,请注意,设备需要处于亮屏状态并且应用需要处于前台运行。
- 页面组件树区,用于查看组件嵌套状态,当前显示为Text组件。
- 页面快照区,点击Text组件后,页面组件列表跳转至选中的Text组件。点击右下角 “Pan Screen”按钮以拖移屏幕;点击 、 按钮来缩放页面;点击 “Zoom to Fit Screen”按钮使页面居中并适应屏幕大小。
- 组件详情区,展示当前选中Text组件的属性信息,包括组件的坐标、布局信息(Spacing)、尺寸信息(Size)、边框信息(Border)、背景信息(Background)、蒙版信息(Effect)、所有其他属性(All Attributes)。如需精准查找单个属性,可通过页面上方搜索栏进行搜索。
问题分析
从页面布局检查器中可以清晰看出,Text组件外部有3层冗余的Stack容器,属于嵌套过多场景。
代码优化
针对在页面布局检查器中发现的冗余Stack容器问题,在应用代码中删除多余的Stack容器。
@Entry
@Component
struct ArkUIInspectorExample {
@State children: Number[] = Array.from(Array(900), (_, k) => k);
build() {
Scroll() {
Grid() {
ForEach(this.children, (item: Number) => {
GridItem() {
Text(item.toString()).border({ width: 2, color: Color.Green })
}
}, (item: Number) => item.toString())
}
.columnsTemplate('1fr 1fr 1fr 1fr')
.columnsGap(0)
.rowsGap(0)
.size({ width: "100%", height: "100%" })
}
}
}
优化结果
布局优化后,使用页面布局检查器可以看到页面上的冗余项已经去除。经过测试,页面滑动时刷新一帧的平均时间比优化前减少1ms。
为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:
《鸿蒙开发学习手册》:
如何快速入门:
- 基本概念
- 构建第一个ArkTS应用
- ……
开发基础知识:
- 应用基础知识
- 配置文件
- 应用数据管理
- 应用安全管理
- 应用隐私保护
- 三方应用调用管控机制
- 资源分类与访问
- 学习ArkTS语言
- ……
基于ArkTS 开发:
- Ability开发
- UI开发
- 公共事件与通知
- 窗口管理
- 媒体
- 安全
- 网络与链接
- 电话服务
- 数据管理
- 后台任务(Background Task)管理
- 设备管理
- 设备使用信息统计
- DFX
- 国际化开发
- 折叠屏系列
- ……
鸿蒙开发面试真题(含参考答案):
鸿蒙开发面试大盘集篇(共计319页):
1.项目开发必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙开发系统底层方向
5.鸿蒙音视频开发方向
6.鸿蒙车载开发方向
7.鸿蒙南向开发方向