Systrace的用法小结

  • 时间:
  • 浏览:1
  • 来源:神彩大发幸运飞艇_彩神大发幸运飞艇官方

Trace.java

在Activity的onCreate的现在之后刚开使和现在之后刚开使位置调用即可:

介绍了自定义TAG,快捷键,那么 到底该怎么分析trace文件呢?

Trace.java的对应的自定义TAG依据如下:

自定义TAG

打开systrace文件后有如下常用快捷键:

S:缩小页面

Systrace还可不可以 查看依据的执行时间,方便找出耗时操作,也还可不可以 观察出帧的绘制时间。

A:左平移页面

Trace.java中定义了如下TAG。

Step4:点击Runnable区域,还可不可以 看多其完整信息(将会Runnable区域比较小,还可不可以 使用快捷键->,快速从Sleeping事件移动到Runnable事件);关键信息时:{wakeup from tid: 20704},还可不可以 知道UI多线程 被20704多线程 所唤醒。

<-:向左移动一个多多 事件

Uninterruptible Sleep: 一般表示IO操作

查询UI多线程 的等待英文

查找耗时操作:

自定义TAG结果

Runnable:表示多线程 占据 可执社会形态显示淡蓝色

Step2:在CPU轴找出“白条较长”的区域,光标点击,并按M键选中,还可不可以 完整的看多该Sleeping的时长,多线程 信息等。

traceBegin现在之后刚开使抓取,traceEnd现在之后刚开使抓取(还可不可以 嵌套调用,否则一定是要成对出显;另外注意下将会某个依据节点出显异常,会因为 顺序错乱,

Step1: 选中红色区域(CPU执行状态),还可不可以 看多如下统计信息:

耗时操作

Running:表示多线程 占据 运社会形态显示绿色

自定义TAG

一般,抓取SysTrace在User Debug的ROM版本,抓取的信息会非常完整;将会就有User Debug版本,还可不可以 通过自定义Tag的依据来充裕信息。

原来当启动systrace的原来就会使用自定义的TAG了。如下所示:

下面代码为自定义TAG的帮助类:

->: 向右移动一个多多 事件

D:右平移页面

 从统计的信息还可不可以 看出Sleeping的时长99多ms

Step5:搜索该多线程 信息:Comm:多线程 名称;Tid:多线程 id;Prio:多线程 优先级

注意:traceTag一定是在Trace类中定义的常量,否则在抓取的SysTrace的,该TAG有勾选。

通过SysTrace还可不可以 帮助我们都都都都都 分析性能现象,所含依据的耗时时长、CPU的使用状态、ANR、布局状态等;相比性能工具TraceView,主要用来分析每个依据的执行时间,对于冷启动而言,想抓trace那么 通过代码的依据,原来会因为 整个应用比较卡顿,测试出的依据时间,就有真正的执行时间,那么 看下时间长短的相对占比。而SysTrace工具,能帮助我们都都都都都 除理抓取的依据时间不真实现象。

Sleeping:表示多线程 占据 睡眠态,显示白色

M:快速选中区域将会取消选中区域

除了UI多线程 这种耗时外,有原来,我们都都都都都 自身业务中多多线程 将会执行任务,会占据 同步锁现象,此时UI多线程 就占据 Sleeping状态。

W: 放大页面

Trace TAG

Step3:继续装在区域,还可不可以 看多在“白条区域”里边,紧接着一个多多 “蓝条区域”,代表当前的UI多线程 从Sleeping态变化到了Runnable态(红色标注区域)

使用自定义TAG

UI多线程 等待英文

上图还可不可以 看出activityStart的执行时间较长,也只是 app的冷启动时间较长。红色的F代表帧的绘制时间过长。