TraceView的使用
来源:互联网 发布:开淘宝店运费怎么办 编辑:程序博客网 时间:2024/06/05 07:03
Traceview是android平台配备的一个性能分析工具,通过图形化的方式让我们了解程序的性能,并且能具体到method。
使用方法有两种:
1:在代码中追踪
//追踪开始Debug.startMethodTracing();//追踪开始Debug.stopMethodTracing();
在你想开始监听的时候调用Debug.startMethodTracing();结束的时候调用Debug.stopMethodTracing();
比如说想监听在Activity活动的时候都有哪些方法运行,各自花费了多久时间,则可以再onResume中调用start,在onPause中调用stop
@Overrideprotected void onResume() { Debug.startMethodTracing(); super.onResume();}@Overrideprotected 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进行对比,如果两者的值接近,则说明时间都花在执行任务上了,那说明我们需要优化的是方法本身的逻辑;如果两者相差较大,则说明时间都花费在等待上了,我们需要思考的就是方法在等待什么,是不是同步锁的问题什么的
- 关于Traceview的使用
- 关于Traceview的使用
- TraceView的使用
- Traceview的使用
- 关于Traceview的使用
- Traceview的使用
- Traceview的使用
- Traceview的使用
- Traceview的使用
- 关于Traceview的使用
- (转)Traceview的使用
- Traceview的使用
- Traceview的使用
- TraceView的使用总结
- traceview 的使用
- traceview的使用
- TraceView的使用
- TraceView的使用
- bzoj4588
- Activity使用方法详解
- 解决在idea中使用maven插件时出现乱码
- Selenium遇到的问题2 下载了chromedriver,并放在Path目录下,还是显示错误
- java基础——引出方法
- TraceView的使用
- ORACLE实现字段自增
- 存储过程和触发器的区别
- 【bzoj1415】【聪聪和可可】期望dp(记忆化搜索)+最短路
- Java中创建对象的5种方式
- [LeetCode]435. Non-overlapping Intervals
- 1.2 什么是神经网络
- 重载运算符
- 构造数独