上篇文章中介绍了实时监控用于性能问题定界。当发现性能问题后,需要精确定位问题根因。DevEco Profiler提供了多种场景化分析模板,针对不同性能问题场景进行深度分析。

一、深度录制

模板 用途
Frame 分析应用/元服务的卡顿丢帧原因
Launch 分析应用/元服务的启动耗时,识别启动瓶颈
Snapshot 拍摄ArkTS堆内存快照,分析单个或多个快照差异,定位ArkTS内存问题
Allocation 分析内存资源占用情况,提供内存实例分配的调用栈记录
ArkUI 定位组件耗时、页面布局、状态变量更新导致的卡顿
ComMemory 定位UI组件内存占用情况
Energy 分析应用/元服务的能耗异常
ArkWeb 定位web应用加载和丢帧问题
Network 定位http协议栈网络信息诊断,网络请求分段耗时分析
Concurrency 显示并行并发应用实际运行情况,帮助优化并行并发代码
GPU 识别GPU利用率低及图形/计算工作负载性能瓶颈
Time 改进函数执行效率,完整展现ArkTS到Native跨语言调用栈
CPU 深度采集CPU内核数据,展示CPU使用率、各核心调度信息、线程状态及Trace信息

二、操作步骤

2.1 打开Profiler并选择设备

操作 说明
选择设备 在设备列表中选择调优设备
选择进程 在进程列表中选择要调测的应用(可正在运行或已安装未启动)
选择模板 在主界面新建任务区域,单击要创建的场景调优分析任务类型

2.2 创建会话

选择场景模板后,点击"Create Session"创建会话。

2.3 配置并确认会话环境

操作 说明
泳道选择 录制前点击图标指定要录制的泳道
录制选项 工具控制栏图标提供功能提示,各泳道区域下拉框可调整录制功能

2.4 启动录制

点击任务窗口左上角或左侧任务列表的录制图标启动录制。

录制状态变化

initializing → recording

注意:录制过程中不能再点击其他模板进行操作,如需录制其他模板需结束本次录制重新选择。

2.5 停止录制

在调优设备上操作APP复现性能劣化场景后,点击停止按钮。

数据解析状态变化

analyzing → rendering

说明:解析过程可能包含大量数据,请耐心等待解析完成。

常见问题

若录制结束后,某些泳道(如ArkTS Callstack、Callstack等)显示No Data,在泳道名称处将光标悬浮于三角告警图标处,查看泳道报错的原因。

三、各场景模板说明

模板 分析内容 适用场景
Frame 卡顿丢帧原因 界面卡顿、滑动不流畅
Launch 启动耗时各阶段 应用启动慢
Snapshot ArkTS堆内存快照差异 内存泄漏、内存增长
Allocation 内存分配调用栈 内存占用过高
ArkUI 组件耗时、布局、状态变量 UI卡顿、渲染慢
ComMemory UI组件内存占用 组件内存优化
Energy 能耗异常 耗电快、发热
ArkWeb web加载和丢帧 WebView性能
Network 网络请求分段耗时 网络慢、请求超时
Concurrency 并行并发运行情况 多线程/协程优化
GPU GPU利用率和瓶颈 图形渲染慢
Time 函数执行效率、跨语言调用栈 函数级性能优化
CPU CPU内核数据、调度信息 CPU占用高、线程调度问题
Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐