绘制性能分析:Traceview

QuibblerQuibbler 2020-08-23 约 4 分钟 1813 次阅读

绘制性能分析: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类似,只不过统计单位换成了真实时间

相关资料:

        Inspect trace logs with Traceview

        traceview使用总结

        Android性能优化—TraceView的使用

相关推荐