TraceView的使用

原创 2017年09月15日 21:23:20

Traceview是android平台配备的一个性能分析工具,通过图形化的方式让我们了解程序的性能,并且能具体到method。
使用方法有两种:
1:在代码中追踪

//追踪开始
Debug.startMethodTracing();
//追踪开始
Debug.stopMethodTracing();

在你想开始监听的时候调用Debug.startMethodTracing();结束的时候调用Debug.stopMethodTracing();
比如说想监听在Activity活动的时候都有哪些方法运行,各自花费了多久时间,则可以再onResume中调用start,在onPause中调用stop

@Override
protected void onResume() {
     Debug.startMethodTracing();
     super.onResume();
}

@Override
protected void onPause() {
     Debug.stopMethodTracing();
     super.onPause();
}

运行完毕后会在sdcard目录下生成dmtrace.trace文件
2:在DDMS中追踪
首先是开始的时候选中想要追踪的应用,点击上面的Start Method Profiling按钮
这里写图片描述

接着选择Trace based profiling,点击OK

这里写图片描述

现在就开始追踪了,如果追踪完毕的话,就点击第一步时的按钮,现在是Stop Method Profiling

这里写图片描述

之后生成的trace文件会在ddms中自动打开

这里写图片描述

上面显示的就是在追踪的这一段时间内方法的调用情况

其中各个参数的含义分别是:

这里写图片描述

当程序出现卡顿现象的时候,我们就可以通过TraceView来分析到底是哪个方法占用了时间
程序出现卡顿一般分为两个情况
一种是存在单次调用花费时间不长,但是会频繁调用的方法
一种是存在调用次数不多,但是每次调用却需要花费很长时间的方法
通过查看trace文件中各个方法的Calls+RecurCalls/Total这一列,我们可以了解到这一段时间内方法的调用次数,以此来判断第一种情况。
第二种情况我们则需要通过Cpu Time/Call和Real Time/Call这几列来进行判断
Real Time/Call可以判断单次方法在实际中的执行时间,如果执行时间较长,我们还可以通过和Cpu Time/Call进行对比,如果两者的值接近,则说明时间都花在执行任务上了,那说明我们需要优化的是方法本身的逻辑;如果两者相差较大,则说明时间都花费在等待上了,我们需要思考的就是方法在等待什么,是不是同步锁的问题什么的

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

LeakCanary的使用

LeakCanary是一个对Android和Java进行内存泄露检测的库 使用方法:首先在gradle中进行配置dependencies { debugCompile 'com.squareu...

Android7.0 启动Launcher流程

在前文分析启动SystemServer流程可以知道在ZygoteInit中通过反射机制执行SystemServer的main函数,从而进入到SystemServer中。在SystemServer的ma...

Android系统工具之Traceview的使用

Traceview是android平台配备的一个很好的性能分析工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。 使用Traceview的版本限制 对...

191_TraceView的使用

TraceView的使用   TraceView是什么   Traceview 是 Android 平台特有的数据采集和分析工具,它主要用于分析 Android 中应用程序的 hots...

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

原文出处: bxbxbai 的博客(@白瓦力)   欢迎分享原创到伯乐头条 前面唠叨 最近公司app中有些列表在滑动的时候会有卡顿现象,我就开始着手解决这些问题,解决问题之前首先要分析列表...

TraceView使用方法

一、TraceView简介       TraceView是AndroidSDK里面自带的工具,用于对Android的应用程序以及Framework层的代码进行性能分析。       TraceV...

Android 性能分析工具——TraceView 的使用方法

前面唠叨 最近公司app中有些列表在滑动的时候会有卡顿现象,我就开始着手解决这些问题,解决问题之前首先要分析列表滑动的性能瓶颈在什么地方。因为之前不会正确使用TraceView这个工具,主要是看不懂...

TraceView的使用

测试Andriod程序中各个方法使用的时间,提高代码的效率转载地址:http://dev.10086.cn/cmdn/wiki/index.php?doc-view-5109  如何分析android...
  • hncjlxf
  • hncjlxf
  • 2011年03月04日 15:36
  • 493

关于Traceview的使用

Traceview是android平台配备一个很好的性能分析的工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。下面我们看下如何使用这个东东。 首先,我们必须在...

Android 耗时代码(ANR)的查找检测和分析解决 TraceView的使用手册

主要讲android内卡顿的检测方法。包括查看ANR日志,使用traceview工具。附带一个方便的StrictMode链接。了解这些解决卡顿再也不是问题。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TraceView的使用
举报原因:
原因补充:

(最多只允许输入30个字)