Android SDK自带的tool TrackView 位于 sdk的tools文件夹下。使用方法为:进入到tools下,执行

traceview e:\loginActivityTracing.trace

就可以。那trace文件怎么生成的呢。

有两种方式生成

1、使用代码生成,想调哪调哪。

仅仅须要在须要调用的地方调用

Debug.startMethodTracing("loginActivityTracing");

和结束调用的地方调用

Debug.stopMethodTracing();

就会在sd卡的根文件夹生成loginActivityTracing.trace文件。

2、没有代码呢,能够使用DDMS来生成。

这是開始。然后同一个button再点一次就生成.trace文件并打开了。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmNseTIwMTM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

运行之后能够看到这样一个图片:

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与总调用次数的比例。查看每次调用的耗时,一般可通过简单此项确定每一个函数的性能。

最新文章

  1. 学习ASP.NET Core,怎能不了解请求处理管道[2]: 服务器在管道中的“龙头”地位
  2. 关于js中的this
  3. 微信小程序开发工具测评
  4. php include require
  5. spi 子系统
  6. Identity标识列
  7. 发掘ListBox的潜力(三):显示即时提示(Tips)
  8. 如何高效的编写Verilog HDL——进阶版
  9. Attrib +s +a +h +r 隐藏文件原理与破解
  10. Captcha服务(后续2)— 改造Captcha服务之Asp.Net Core项目中如何集成TypeScript
  11. 如何彻底禁止win10易升更新(转)
  12. Alpha冲刺! Day4 - 磨刀
  13. 多个Activity和Intent
  14. (转)Memcache内存分配策略
  15. Element ui tree结合Vue使用遇到的一些问题(一)
  16. mongdb查询操作
  17. CentOS 7开机不执行/etc/rc.local的解决方法
  18. IDEA远程debug的使用
  19. 【Socket】linux高性能网络服务程序
  20. u3d加载加密和未加密

热门文章

  1. [转]mysql触发器的作用及语法
  2. Android popwindow 消失监听
  3. 黑马程序员 关于c# windows窗体关闭时线程未能完全退出问题(专题一)
  4. JS——this与new
  5. html——导航demo
  6. [Windows Server 2012] 安装护卫神·主机管理系统
  7. Coding iOS客户端应用源码
  8. Android本地消息推送
  9. Gradle与Makefile构建工具的对比
  10. Win10电脑如何更改开机启动项