绘制性能分析:Traceview
接着前两种绘制性能分析(绘制性能分析:GPU Rendering Profile和绘制性能分析:Systrace),继续介绍第三个工具:Traceview。
1、Traceview介绍
Traceview是Android SDK早期集成开发环境中tools目录中自带的工具,帮助开发者分析应用性能,执行的耗时分析。
注意:Traceview 已弃用。推荐 Android Studio 3.2 或更高版本使用 CPU Profiler 来执行以下操作:检查通过使用 Debug 类检测应用而捕获的 .trace 文件、记录新方法跟踪信息、保存 .trace 文件以及检查应用进程的实时 CPU 使用情况。
2、Traceview使用
Traceview的简单使用,抓默认的trace,还可以自己添加android.os.Debug代码。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Debug.startMethodTracing("QUIBBLER");
...
Debug.stopMethodTracing();
...
}2.1、Traceview抓取
①打开DDMS,点击Start Method Profiling按钮

②抓取选项

③自动将traceview文件转为图形,直观的反应出代码的执行时间、执行次数。底部可以输入关键词查找感兴趣的方法代码
2.2、结果
线程执行时间轴,总体执行状况。
点击具体的时间块可以看到每个方法执行的详细信息。点击Parents跳转到被调用的方法处,点击Children中的方法跳转到调用方法处。
2.3、相关参数
其中耗时time相关的数据含义如下:
| 列名 | 描述 |
|---|---|
| Name | 该线程运行过程中所调用的函数名 |
| Incl Cpu Time | 某函数占用的CPU时间,包含内部调用其它函数的CPU时间 |
| Excl Cpu Time | 某函数占用的CPU时间,但不含内部调用其它函数所占用的CPU时间 |
| Incl Real Time | 某函数运行的真实时间(以毫秒为单位),内含调用其它函数所占用的真实时间 |
| Excl Real Time | 某函数运行的真实时间(以毫秒为单位),不含调用其它函数所占用的真实时间 |
| Call+Recur Calls/Total | 某函数被调用次数以及递归调用占总调用次数的百分比 |
| Cpu Time/Call | 某函数调用CPU时间与调用次数的比。相当于该函数平均执行时间 |
| Real Time/Call | 同CPU Time/Call类似,只不过统计单位换成了真实时间 |
相关资料:




