学而不思则罔,思而不学则殆
TraceView 是 AndroidSDK 自带的工具,用来分析函数调用过程,可以对 Android 的应用 程序以及 Framework 层的代码进行性能分析。它是一个图形化的工具,最终会产生一个图 表,用于对性能分析进行说明,可以分析到应用具体每一个方法的执行时间,使用可以非常 直观简单,分析性能问题很方便。
使用方法
执行bat:Sdk\tools\monitor.bat
选择进程,点击箭头所指的图表开始,操作手机,结束后再点击就会自动产生trace文件。
生成的trace文件,展示情况如下:
字段说明
id | 字段 | 说明 |
---|---|---|
1 | Incl Cpu Time | 方法在CPU中执行所有时间(包含其调用的方法所消耗的时间) |
2 | Excl Cpu Time | 方法在CPU中执行的时间(不包含其调用的方法所消耗的时间) |
3 | Incl Real Time | 方法运行消耗的所有时间(包含子方法) |
4 | Excl Real Time | 方法运行消耗的时间(不包含子方法) |
5 | Calls + Recur Calls/Total | 方法调用、递归次数(重要指标,防止死循环) |
6 | Cpu Time/Call | 该方法平均占用 CPU 的时间(重要指标,可以看出单个方法占用CPU的平均时间,但是要防止在个别调用处出现长时间占用,然后被平均了) |
7 | Real Time/Call | 平均执行时间,包括切换、阻塞的时间(重要指标,可以看出单个方法执行的平均时间值,但是要防止在个别调用处出现长时间调用,然后被平均了) |
总结
traceView主要作用是针对项目中具体方法的耗时进行优化分析,一般是集合systrace一起使用。systrace怀疑到具体耗时方法,然后通过traceView来确认。