安卓Cpu调试

在profile里选择cpu后可以查看cpu的调用情况。

谷歌官方文档

读懂页面

安卓Cpu调试_第1张图片
cpu_profiler_L2-2X.png

一共有3个轴

1、事件时间轴

Activity的各种变化,用户的与页面的各种交互,都会在这里记录。

  • 用户的交互事件对应粉红色的点。
  • Activity的变化对应横轴,打开某个页面会显示绿色的长条等。这也是一种查看当前页面的方式。

2、cpu占用率:

绿色的部分表示当前进程占用的cpu,浅色表示其他app占用的量。悬浮在上面时,还会出现当前app的线程数量。

3、线程活动时间轴:

列出了所有的线程的活动情况。不同的块状颜色标明了线程不同的状态:

  • 绿色:正在运行
  • 黄色:出于活动状态,但是在等待一项I/O操作才能完成他的操作
  • 线程正在休眠,不使用任何cpu

开始记录

1、点击Record,开始记录当前的cpu使用情况。

安卓Cpu调试_第2张图片
image.png

2、要判断执行哪些操作时会耗时长,则执行这些操作。

2、点击stop,停止记录当前的cpu使用情况。

安卓Cpu调试_第3张图片
image.png

读懂跟踪数据

1、选择时间段。

安卓Cpu调试_第4张图片
image.png

可以滑动滑标,选择需要记录时间内的某一段来研究。

2、用户交互事件与页面变化
安卓Cpu调试_第5张图片
image.png

3、Thread块,展示app所有的线程,每个线程的活动记录都会记录
安卓Cpu调试_第6张图片
image.png

长按滑动可以勾选特定的时间段来查看。单机最左侧可以选择某个线程来分析。

4、Analysis分析块

(1)顶部可以切换线程。

安卓Cpu调试_第7张图片
image.png

(2)不同的信息展示模式

  • 摘要模式
安卓Cpu调试_第8张图片
image.png

提供了一些信息摘要,可以看到底层调用的情况,参考价值不大。

  • Top Down模式
安卓Cpu调试_第9张图片
image.png

可以按照底层方法被调用的时间来排序,并且可以点击展开查看调用链中,每个方法的耗时时间,以定位到app代码中耗时较长的方法。

  • Flame chart模式
安卓Cpu调试_第10张图片
image.png

这种模式是最直观的,可以看到每个方法的耗时时间和调用关系。

通过按w,可以将试图变大,方便查找。按s,将视图缩小。

不同颜色表示不同包中的方法:

  • 红色表示android系统方法
  • 深黄色表示java包的方法
  • 淡黄色表示其他,包括了我们自己app中的方法。

悬浮在方法上,可以看到方法的具体耗时。双击可以跳转到具体的方法。

  • Bottom Up模式

直接将所有方法按照耗时时间列出。同城底层方法都在比较前面,所以要找到app中耗时的方法并不是很方便。

安卓Cpu调试_第11张图片
image.png

(3)筛选功能

在不同的模式下,都可以进行筛选,但是只有flame chart模式下,筛选结果是比较明显的。

你可能感兴趣的:(安卓Cpu调试)