TraceView代码性分析工具
来源:互联网 发布:遗传算法本质 编辑:程序博客网 时间:2024/06/08 15:56
1 记录
1.1 调用静态方法android.os.Debug.startMethodTracing();和android.os.Debug.stopMethodTracing();
1) 使用android.os.Debug.startMethodTracing();(开始跟踪),android.os.Debug.stopMethodTracing();(停止跟踪),来包裹你要分析的代码块。在这两个静态方法间的所有方法的调用都会被跟踪记录下来存放到设备的/sdcard/xxx.trace文件中(没有sd的设备,请到内置存储的根目录下查找))。
2) 把xxx.trace拷贝到pc上,运行cmd,执行命令xxx\sdk\tools xxx \xxx.trace,如下图:
3) 出现该工具的图形界面,如下图:
注:运行cmd命令后,出现了这样子的提示,如下图:
谷歌告诉我们现在traceview这个东西已经被舍弃了,被集成到了Android Device Monitor中去,我也按照提示去Android Device Monitor找到了该功能,但是发现在Android Device Monitor无法使用查找功能,所以暂时还是继续使用traceview。Android Device Monitor使用该功能的步骤如下图:
在android studio中打开Android Device Monitor,
选择File->Open File打开你的xxx.trace文件:
1.2 使用DDMS
打开Android Device Monitor,打开DDMS版面,选择你要跟踪的代码所属的进程,点击Start Method Profiling,如下图:
操作设备,然后点击Stop Method Profiling,则可以分析刚才发生了的所有函数调用了,如下图:
2 分析
2.1 时间轴
左边是是线程信息,右边深色部分是显示执行时间段、白色是线程暂停时间段,把鼠标放在右边的时间轴上,在由上方显示当前时间线所执行的函数的具体信息。
2.2 详细信息
Parent表示调用这个方法的方法,Children表示这个方法中调用的其他方法。
列名
含义
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类似,只不过统计单位换成了真实时间
2.3 具体分析方法
1) 如何定位到所关心的地方?
上面只是介绍了如何使用TraceView且有两种用法,但是有时使用第一种方式范围又不太精确,使用第二种添加代码的方式,可能有些地方又监听不到。这种情况可以尝试把开始或者结束放到延迟线程中,延迟一段时间在执行开始或者结束。
2) 如何查找出哪些地方比较耗时?
TraceView罗列出了是所有监听到的方法,当然也包括Android系统很多方法的耗时,如何在这么多方法里面查找到自己关心的? 可以通过TraceView底部的find 来查找,通常Android app都是有包名的,可以先针对某些关心的列排序后,在通过包名进行一个个查找,这些就省去自己筛选出自己app 方法耗时排行的时间。
- TraceView代码性分析工具
- 性能分析工具TraceView
- 日志分析工具traceView
- 性能分析工具TraceView
- Android代码调试工具 traceview
- android性能分析工具 traceview
- TraceView性能分析工具介绍
- TraceView性能分析的工具
- Android性能分析工具-TraceView
- Android性能分析工具TraceView
- 性能分析工具 Android TraceView
- Android 性能分析工具TraceView
- Android程序分析工具Traceview的使用方法
- android-sdk工具使用traceview性能分析
- Android性能分析工具——TraceView
- android性能分析工具-TraceView参数解释
- Android应用性能分析调试工具 TraceView
- Android性能分析工具——TraceView
- sublime学习之--批量在多行首位添加代码
- mac下安装opencv
- Java-ArrayList
- 打印当月日历
- Android屏蔽返回键
- TraceView代码性分析工具
- 快速排序 迭代实现
- @property后面的修饰符总结
- 欢迎使用CSDN-markdown编辑器
- Address already in use:JVM_Bind
- 二叉树创建、删除、(递归/非递归)先序(中序/后序)遍历
- 利用VBScript在隐藏窗口中运行应用程序
- C中的位运算
- POJ 1019 Number Sequence