traceview

一、 TraceView工具简述
  Traceview是android平台配备的一个很好的性能分析工具。它可以通过图形界面的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。
  二、 TraceView工具使用方法
  TraceView有三种启动方式,下面逐一介绍:
  1、 代码中启动
  可以在代码中添加
  Debug.startMethodTracing(“Tracelog”);
  Debug.stopMethodTracing();
  使用这种方式需要确保应用的AndroidMainfest.xml中的SD卡的读写权限是打开的,即
  应用运行完后,会在SD卡下生成一个Tracelog文件,使用adb pull把这个文件拷贝至XP系统上,再在android sdk的tools目录下执行traceview Tracelog,
则会弹出一个图形界面,通过这个图形界面就可以分析出应用的性能瓶颈;
  2、 Eclipse中启动
  Eclipse启动traceview及其简单,在DDMS中对需要分析的应用进程点击如下按钮

  在需要停止traceview的地方点击相同的按钮,则Eclipse会自动弹出类似1中的一个图形界面;
  3、 adb 命令行启动
  adb shell am profile start
  adb shell am profile stop
  PROCESS_ID为应用的进程号,可以用ps命令获取,TRACE_FILE为需要存储的Trcaelog文件。
  执行上面的命令后,会生成对应的TRACE_FILE,使用adb pull把这个文件拷贝至XP系统上,再在android sdk的tools目录下执行traceview Tracelog,
则会弹出一个图形界面,通过这个图形界面就可以分析出应用的性能瓶颈;
  三、 TraceView界面说明
  上述步骤生成的图形界面如下所示:

  1、时间轴面板:
  每个线程的执行都显示在随着时间渐增右移的各自行上。不同的方法用不同的颜色来表示。下面的细线显示选中方法的调用时长(由进入到退出)。
  2、Profile面板:
  该表给出了the inclusive and exclusive times及他们所占有的百分比。
  Exclusive time是该函数本身基本操作(不包括子函数调用)的时间。
  Inclusive time是该函数调用所用的时间(包括子函数调用)的时间。
  列1:”Name”表示函数名。
  双击函数名,可以看到在上半界面是时间轴面图(Timeline Panel)看他的所消耗的时间段。(用粗的线段标注)。
  双击函数名左边的”+”展开后可以看到,该函数的”parents”和”children”
posted @ 2015-07-17 15:52  williamgufeng  阅读(411)  评论(0编辑  收藏  举报