上篇文章中介绍了实时监控用于性能问题定界。当发现性能问题后,需要精确定位问题根因。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启动耗时各阶段应用启动慢
SnapshotArkTS堆内存快照差异内存泄漏、内存增长
Allocation内存分配调用栈内存占用过高
ArkUI组件耗时、布局、状态变量UI卡顿、渲染慢
ComMemoryUI组件内存占用组件内存优化
Energy能耗异常耗电快、发热
ArkWebweb加载和丢帧WebView性能
Network网络请求分段耗时网络慢、请求超时
Concurrency并行并发运行情况多线程/协程优化
GPUGPU利用率和瓶颈图形渲染慢
Time函数执行效率、跨语言调用栈函数级性能优化
CPUCPU内核数据、调度信息CPU占用高、线程调度问题
Logo

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

更多推荐