TraceView

喜欢而已 提交于 2020-02-06 14:22:39

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

Traceview的使用:首先,必须在程序当中加入代码,以便生成trace文件,有了这个trace文件我们才可以将其转化为图形。

一、启动Trace

//使用Debug的以下静态方法方法来启动://使用指定trace文件的名字和默认最大容量(8M)的方式开始方法的追踪static void  startMethodTracing(String traceName)//使用默认trace文件的名字(dmtrace.trace)和默认最大容量(8M)的方式开始方法的追踪static void  startMethodTracing()//使用指定trace文件的名字和最大容量的方式开始方法的追踪。并可指定flags.注:int flags好像没意义。一般都用0.static void  startMethodTracing(String traceName, int bufferSize, int flags)//使用指定trace文件的名字和最大容量的方式开始方法的追踪。static void  startMethodTracing(String traceName, int bufferSize)

注1:以上的方法的文件都会创建于SD卡下,即"/sdcard/"下,对默认文件名的就是"/sdcard/dmtrace.trace",如果没SD卡,以上方法会抛异常致使程序crash.

注2:如果文件名没有指定类型,系统为其加上类型.trace

 

二、停止Trace

public static void stopMethodTracing();

  Google Dev Guide当中说可以在activity的onCreate()中添加Debug.startMethodTracing(), 而在onDestroy()中添加Debug.stopMethodTracing(),但是在实际的测试时发现这种方式其实并不好用,因为通常情况下我们的activity的onDestroy()是由系统决定何时调用的,因此可能等了很长时间都不会得到这个trace文件。因此决定在onStop()中来调用Debug.stopMethodTracing()。这样当我们切换到其它activity或者点击home键的时候onStop()就会被调用,我们也就可以得到完整的trace file。

 

三、把trace文件从SD卡拷到电脑上

现在我们把这个文件copy到我们的电脑上指定的目录:

$adb pull /sdcard/dmtrace.trace d:

 

四、使用traceview命令打开

$traceview d:/dmtrace.trace

 

五、分析traceview结果

 

六、ddms中使用traceview

另外简单提一个ddms中使用traceview的方法:

  1. 在设备表中选中你想进行method trace的进程。
  2. 单击Method Profiling按钮开始method trace。该按钮在窗口的左上方,它在"stop"按钮的左方,"Device菜单的正下方"。 
  3. method trace进行中。 
  4. 单击Method Profiling按钮停止method trace。紧接着系统会自动弹出Traceview窗口来显示刚才的method trace结果。


详细使用参见:http://developer.android.com/guide/developing/debugging/debugging-tracing.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!