【Android】开发优化之——调优工具:TrackView,Method Profiling
来源:互联网 发布:java中md5解密代码 编辑:程序博客网 时间:2024/06/01 13:51
Android SDK自带的tool TrackView 位于 sdk的tools目录下。用法为:进入到tools下,运行
traceview e:\loginActivityTracing.trace
即可。那trace文件怎么生成的呢。
有两种方式生成
1、使用代码生成,想调哪调哪。
只需要在需要调用的地方调用
Debug.startMethodTracing("loginActivityTracing");
和结束调用的地方调用
Debug.stopMethodTracing();
就会在sd卡的根目录生成loginActivityTracing.trace文件。
2、没有代码呢,可以使用DDMS来生成。
这是开始,然后同一个按钮再点一次就生成.trace文件并打开了。
执行之后可以看到这样一个图片:
TraceView界面信息介绍
TraceView界面包括时间面板和方法面板
(1) 时间面板(Timeline Panel)
时间面板展示了每个线程的执行情况,其中的[1]main即为ui主线程。
移动到某个位置可以查看该点对应的方法的执行信息,点击方法面板则会选中相应的方法。
可以左键按住不放选中区域放大局部精细查看,不同方法用不同颜色标注
(2) 方法面板(Profile Panel)
方法面板展示了所有方法的执行情况,点击某个方法可以查看在对应线程上的执行时间区域,并会显示其父方法及子方法。
每个方法包括如下信息列,可点击某列进行排序,从而确定产生性能问题的函数:
Incl Cpu Time, Excl Cpu Time, Incl Real Time, Excl Real Time, Incl Cpu Time%, Excl Cpu Time%, Incl Real Time%, Excl Real Time%, Calls+RecurCalls/Total, Cpu Time/Call, Real Time/Call
所有的Time都是以毫秒计算。每列具体含义及作用如下:
a. Incl表示将所有子函数耗时也计算在内,Excl则表示不包括子函数的调用时间。对比可以确定耗时操作发生是自身还是子函数中。
b. Cpu Time表示占用cpu执行的时间,Real Time包括Cpu Time以及等待、切换的时间等,所以一般都大于Cpu Time。对比可以判断耗时操作是否在cpu执行段内。
c. 上面四个指标对应的%表示函数在总时间的占比。方便查看某个函数的时间占比。
d. Calls+RecurCalls/Total表示被外部调用次数+递归次数/总次数。可以查看调用次数是否符合自己预期。
e. Cpu Time/Call, Real Time/Call表示总的Cpu Time及Real Time与总调用次数的比例。查看每次调用的耗时,一般可通过简单此项确定每个函数的性能。
- 【Android】开发优化之——调优工具:TrackView,Method Profiling
- 【Android】开发优化之——系统性能调优工具:TrackView,Systrace,Oprofile
- MySQL优化工具之 profiling
- android DDMS method profiling 工具使用分析
- Mysql优化之优化工具profiling
- android 分析method profiling
- mysql性能优化之profiling
- 【Android】开发优化之——调优工具:dump hprof file 查看内存情况,找到内存泄露
- Android】开发优化之——调优工具:dump hprof file 查看内存情况,找到内存泄露,androidhprof
- Android优化工具之——Zipalign
- Android启动优化工具(一) Method Tracking
- Android开发之性能调优工具
- Android开发优化之—界面UI的优化
- 开发优化之——调优工具:dump hprof file 查看内存情况,找到内存泄露,androidhprof
- 163.Oracle数据库SQL开发之 SQL优化——优化工具
- 几个实用的软件开发工具之——性能优化工具
- Android开发之google命名method
- Ruby中的Profiling工具
- 2014 Multi-University Training Contest 1
- 获取浏览器窗口可视化区域大小的兼容JS解决方案
- ubuntu14.04/13.10/13.04 安装32位运行库(成熟技术)
- 了解这些概念
- event.srcElement 用法笔记e.target
- 【Android】开发优化之——调优工具:TrackView,Method Profiling
- poly2trellis(matlab)
- map容器
- Linux常用命令大全
- Android开发中遇到的各种数组集合学习
- myeclipse中设置字体
- 如何干净的清除Slave同步信息【小技巧】
- 测试一下lvs fullnat的性能(工作记录)
- hdu2817 A sequence of numbers