Android CPU Profiler性能分析器

2022-04-13  本文已影响0人  jxiang112

CPU性能分析器主要用于捕获、分析CPU使用的情况,通过捕获的信息可以分析应用的CPU使用率、线程活动、函数调用及其开销时间、与系统交互的流程等。通过分析CPU的使用可以优化应用的CPU的使用率,有效提升应用的流畅性、提升用户使用体验、较少电量消耗提升使用时间等

CPU 性能分析器概览

按以下步骤打开CPU性能分析器:

当打开CPU性能分析时,它会立即显示应用的CPU使用率和线程活动情况,如下图所示:


CPU性能分析1.png

1、事件时间轴:显示应用中的activity在其生命周期内不断转换经历的各种不同状态过程,如touch(down、press等)事件、屏幕选中等。
2、CPU时间轴:显示应用的实时CPU使用率(以占总可以CPU的百分比表示)、其他应用的实时CPU使用率、应用当前使用的线程总数。
3、线程活动时间轴:这里会列出应用的每个线程,使用一下不同颜色表示它们的活动情况:

捕获CPU使用信息

在CPU性能分析器中,可以根据需要捕获不同的数据:

可以在代码中调用系统提供的API,捕获追踪对应的CPU使用信息,如:

也可以在CPU分析器中勾选要捕获记录CPU的配置信息,点击开始即可可是捕获,点击停止捕获后CPU性能分析器会自动打开捕获到的记录CPU活动的信息。

也可以在命令行使用systrace和traceview的命令捕获systrace和traceview的追踪数据进行分析。
要使用Android Studio捕获应用启动时自动开始记录CPU使用信息,可以执行以下操作:

分析

捕获到记录CPU活动的信息之后,CPU性能分析器会自动打开追踪的日志文件,如下图:
[图片上传失败...(image-60165a-1649840871050)]
1、Display显示图形流水线信息:

2、活动线程状态信息:记录的是线程与界面界面程序相关信息,如:inflate、layout、draw等方法的调用及开销情况
3、Top Down:所有线程中函数调用情况,Top Down中显示每个方法调用所花的CPU时间:

上图中是Top Down函数调用按逆序用图表的方式进行展示,如:依次调用了:
main——》xxx.initFnSDK——》xxx.loader......
tt_pangle_thread_pll_report1——》xxxThread.run.....
......
鼠标移到每个条目上都会响应的显示在相对时间段内执行该方法所花费的时间(包括self和childred)
5、Bottom Up: 函数被调用情况,方法默认按占用CPU时间由多到少的顺序对排序显示,展开是调用此方法的方法列表。

我们可以:

放大之后,我们通过分析ui线程中各ui相关方法的开销,如traversal方法,点击它可以在后侧展示此方法的Top Down、Flame Chart、Bottom Up等情况

上一篇下一篇

猜你喜欢

热点阅读