HarmonyOS NEXT 原生应用/元服务-DevEco Profiler性能问题定位深度录制

鸿蒙时代
发布于 2025-2-24 15:53
1.8w浏览
0收藏

开发者可针对不同的性能问题场景选择不同模式的分析任务,对应用/元服务进行深度分析。当前支持以下调优场景为:

Launch:主要用于分析应用/元服务的启动耗时,分析启动周期各阶段的耗时情况、核心线程的运行情况等,协助开发者识别启动瓶颈。

ArkUI :主要用于定位由于组件耗时、页面布局、状态变量更新导致的卡顿问题。

Frame:主要用于深度分析应用/元服务的卡顿丢帧原因。

Concurrency:主要用于显示并行并发应用的实际运行情况,用于帮助优化并行并发代码。

ArkWeb:主要用于定位web应用加载和丢帧问题。

Network: 主要用于定位http协议栈网络信息诊断,用于网络请求分段耗时分析。

Time:主要用于改进函数执行效率的分析,深度录制函数调用栈及每帧耗时等相关运行数据,并完整展现ArkTS到Native的跨语言调用栈,支撑Native API典型问题分析。

Allocation:主要用于应用/元服务内存资源占用情况的分析,可深度采集内存相关数据,直观呈现不同分类的内存趋势,提供内存实例分配的调用栈记录,深入分析内存问题。

Snapshot:支持多次拍摄ArkTS堆内存快照,分析单个内存快照或多个内存快照之间的差异,定位ArkTS的内存问题。

CPU:通过深度采集CPU内核相关数据,直观地呈现出当前选择调优应用/元服务进程的CPU使用率、CPU各核心时间片调度信息、CPU各核心频率信息、CPU各核心使用率信息、系统各进程的CPU使用情况、线程状态及Trace信息等。

选择场景模板,创建会话:

新建任务的入口,DevEco Profiler提供Launch、ArkUI、Frame、Concurrency、ArkWeb、Network、Time、Allocation、Snapshot、CPU等场景化分析任务类型。

1:在设备列表中选择设备。

2:在进程列表中选择要调测的应用(可以是正在运行的应用,也可以是已安装但未启动的应用)。

3:在DevEco Profiler主界面的新建任务区域,单击要创建的场景调优分析任务类型,并单击“Create Session”。创建后的分析任务,会显示在界面左侧的任务列表中。

4:调优详情,显示具体的调优内容。

HarmonyOS NEXT 原生应用/元服务-DevEco Profiler性能问题定位深度录制-鸿蒙开发者社区

配置并确认会话环境:

在右边录制详情区域,工具控制栏上有很多小图标,鼠标放上去会有一些功能提示,可以添加一些录制选项,各泳道区域也有下拉框选项,下拉选择不同的设置可以调整录制功能。

0900086000300134184.20201216095126.86523331460016843504112994983392.png

启动录制,复现性能劣化场景:

单击任务窗口左上角的 HarmonyOS NEXT 原生应用/元服务-DevEco Profiler性能问题定位深度录制-鸿蒙开发者社区,启动录制,也可以选择左侧的任务列表中的HarmonyOS NEXT 原生应用/元服务-DevEco Profiler性能问题定位深度录制-鸿蒙开发者社区,启动录制后,等待任务状态由“initializing”变为“recording”。录制过程中整个DevEco Profiler不能再点击其他的模板进行操作,如果想录制其他模板可以结束本次录制重新选择其他模板开始录制。

HarmonyOS NEXT 原生应用/元服务-DevEco Profiler性能问题定位深度录制-鸿蒙开发者社区

录制场景结束,停止录制:

在调优设备侧操作APP,执行要验证的操作,复现设备性能问题。单击该任务的停止按钮 HarmonyOS NEXT 原生应用/元服务-DevEco Profiler性能问题定位深度录制-鸿蒙开发者社区,进入数据分析阶段,所有泳道任务状态由“analyzing”变为“rendering”,分析结束,右侧调优详情区域显示具体调优内容,分析过程可能包含大量的数据,需要等待一段时间,请耐心等待解析完成。

当前的ArkTS Callstack/Callstack/Native Allocation/ArkTS Allocation泳道录制如果无值,泳道显示No Data,在泳道名称处可将光标悬浮于三角告警图标处,查看泳道报错的原因。

HarmonyOS NEXT 原生应用/元服务-DevEco Profiler性能问题定位深度录制-鸿蒙开发者社区

本文主要参考与引用自HarmonyOS官方文档。

分类
收藏
回复
举报


回复
    相关推荐