Android应用性能检测工具-TraceView

来源:互联网 发布:脂质体转染优化培养基 编辑:程序博客网 时间:2024/05/28 15:52

TraceView主要的功能就是检测你的应用在运行过程中各个线程的CPU占用情况,依据此可以找出你的应用出现卡顿的地方。

基本使用

使用TraceView主要有两种方式:
1、从Android Studio中启动Android Device Monitor: Tools -> Android -> Android Device Monitor.
(1).选择你要调试的进程。
(2).点击start mothod profiling,待图标变黑。
(3).选择sample base profiling
这里写图片描述

2、使用android.os.Debug.startMethodTracing();和android.os.Debug.stopMethodTracing();方法,当运行了这段代码的时候,就会有一个trace文件在/sdcard目录中生成,也可以调用startMethodTracing(String traceName) 设置trace文件的文件名,最后你可以使用adb pull /sdcard/test.trace /tmp 命令将trace文件复制到你的电脑中,然后用DDMS工具打开

上面部分是你测试进程的中每个线程运行的时间线,可以选择某一个线程的时间线,观察下面部分显示的对应方法的耗时情况
这里写图片描述

TraceView中的指标

纵轴
TraceView界面下方表格中纵轴就是每个方法,包括了JDK的,Android SDK的,也有native方法的
每个方法前面都有一个数字,是全部方法按照Incl CPU Time 时间的排序序

打开每个方法,数据分为两个部分

ParentsChildren

Parents表示调用1这个方法的父方法。Children表示方法调用的其他方法。

横轴

Incl Cpu Time

这个方法以及这个方法的子方法一共执行的时间。

例如:

public void a() {    //代码    b();    c();    d();    //代码}

则上面a()方法的Incl Cpu Time为b(),c(),d()以及a()方法内其他执行代码的执行总时间。

Excl Cpu Time

这个方法除去其中包含的子方法的执行时间,其他代码执行的时间。

以上面为例,Excl Cpu Time为Incl Cpu Time的时间减去b(),c(),d()的执行时间。

Incl Real Time

和Incl Cpu Time 差不多

Excl Real Time

和Excl Cpu Time差不多

Calls + Recur Calls / Total

它表示这个方法执行的次数,这个指标中有两个值,一个Call表示这个方法调用的次数,Recur Call表示递归调用次数

Cpu Time / Call

表示这个方法每调用一次需要的时间,这个地方就可以分析哪些方法存在耗时操作。

Real Time / Call
这个方法实际调用一次需要的时间。

这里写图片描述

参考文章:

正确使用Android性能分析工具——TraceView

Android应用性能检测工具之CPU篇

0 0
原创粉丝点击