1.trace Log 的打开方法
使用Android Device Monitor
可以查看trace Log内容,步骤如下,打开Android Device Monitor
,选择File
,然后打开*.trace log分析。
当然,你也可以使用Android Device Monitor
的图形按键进行trace
的抓取与查看。
使用Android Device Monitor 查看trace Log
2.Trace log 的分析
打开Trace log后,Traceview
使用以下两个窗格显示log数据:
-
- 时间轴窗格:
描述每个线程何时进入和退出方法的时间轴窗格
- 时间轴窗格:
-
- 配置文件窗格:
总结每个线程在跟踪日志的执行期间的配置文件窗格
以下各节提供有关traceview输出窗格的附加信息。
- 配置文件窗格:
3.Trace log 时间轴窗格
每个线程的执行都显示在自己的进程中,并且时间向右增加。 每种方法都以不同的颜色显示。 第一行下方的细线显示所选方法的子项(从入口到出口),如下图所示。
时间轴窗格
4.Trace log配置文件窗格
如下图所示,配置文件窗格提供了系统在Systrace期间每种方法的执行的列表以及耗时。
另外,调用另一个方法的方法称为父级方法,父级调用的方法称为其子级。 当您通过单击方法选择一种方法时,它会在两个单独的节点下显示其父项和子项。
对于配置文件窗格中的每个顶级节点,表中的Calls + Rec
,Calls / Total
列(图2中未显示)将显示该方法调用次数和递归调用次数。或者,对于父级和子级方法,此列显示方法在顶级节点中是方法的子级或父级的调用次数。
Parents下方表示调用该方法的父方法,
Children下方表示该方法内部调用的子方法,接下来我们继续点击比例最高的方法进入看看
该图片顶部有多个英文名称,含义如下
名称 | 含义 |
---|---|
Name | 追踪期间所调用的方法 |
Incl Cpu Time % | Cpu执行该方法及其子方法所花费时间占Cpu总执行时间的百分比 |
Incl Cpu Time | Cpu执行该方法该方法及其子方法所花费的时间,以毫秒为单位 |
Excl Cpu Time % | Cpu执行该方法所花费的时间占Cpu总时间的百分比,不包含内部调用其它方法时间 |
Excl Cpu Time | Cpu执行该方法所花费的时间,不包含内部调用其它方法时间,以毫秒为单位 |
Incl Real Time % | 该方法及其子方法从开始执行到结束所花费的实际时间占总时间的百分比 |
Incl Real Time | 该方法及其子方法从开始执行到结束所花费的实际时间,以毫秒为单位 |
Excl Real Time % | 该方法从开始执行到结束所花费的实际时间占总时间的百分比,不包含子方法 |
Excl Real Time | 该方法从开始执行到结束所花费的实际时间,以毫秒为单位,不包含子方法 |
Calls+Recur Calls/Total | 方法调用次数+递归次数 调用次数/总次数 【前半截是方法的数据,后半截是点击方法后下方弹出的子方法的数据】 |
Cpu Time/Call | Cpu执行时间和调用次数的百分比,表示每次调用所消耗的Cpu时间 |
Real Time/Call | 方法执行实践花费的时间和调用次数的百分比,表示该方法平均执行时间 |