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

【Android】开发优化之——调优工具:TrackView,Method Profiling的更多相关文章

  1. 【Android】开发优化之——调优工具:dump hprof file 查看内存情况,找到内存泄露

    虽说知道一般性的开发android应用须要注意的问题,但是也有水平參差不齐的情况.特别是维护代码,假设内存占用大,内存溢出严重,又怎么解决呢?  --  通过DDMS把heap抓出来分析 1.打开DD ...

  2. Android系统性能调优工具介绍

    http://blog.csdn.net/innost/article/details/9008691 经作者授权,发表Tieto某青年牛的一篇<程序员>大作. Android系统性能调优 ...

  3. 【Java/Android性能优2】Android性能调优工具TraceView介绍

    本文参考:http://www.trinea.cn/android/android-traceview/ Android自带的TraceView堪比java的性能调优工具visualvm线程视图,可以 ...

  4. OCM_第十四天课程:Section6 —》数据库性能调优_各类索引 /调优工具使用/SQL 优化建议

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  5. advisor调优工具优化sql(基于sql_id)

    advisor调优工具优化sql(基于sql_id) 问题背景:客户反馈数据库迁移后cpu负载激增,帮忙查看原因 解决思路:1> 查看问题系统发现有大量的latch: cache buffers ...

  6. Perf -- Linux下的系统性能调优工具,第 1 部分【转】

    转自:https://www.ibm.com/developerworks/cn/linux/l-cn-perf1/ Perf 简介 Perf 是用来进行软件性能分析的工具. 通过它,应用程序可以利用 ...

  7. Perf -- Linux下的系统性能调优工具,第 1 部分

    Perf 简介 Perf 是用来进行软件性能分析的工具. 通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计.它不但可以分析指定应用程序的性能问题 (per t ...

  8. Oracle第二话之调优工具

    Oracle第二话之调优工具 原创if 0 = -I can 发布于2019-04-09 19:53:12 阅读数 172  收藏 展开 目录 1.告警日志 2.用户进程trace文件 3.动态性能视 ...

  9. Perf Event :Linux下的系统性能调优工具

    Perf Event :Linux下的系统性能调优工具 2011-05-27 10:35 刘 明 IBMDW 字号:T | T Perf Event 是一款随 Linux 内核代码一同发布和维护的性能 ...

随机推荐

  1. MVC系列学习(八)-分布视图

    1.本次学习实例 1.1.建议:为了尽可能让项目简单,就新建一个空的mvc项目,同时添加任何视图不用模板页 1.2注意:在添加LoginPart的分部视图时,要记得沟一个沟 2.项目代码,如下 总共三 ...

  2. java练习题-求int类型N值的阶乘

    //求int类型N值的阶乘 public static int getNumsJieCheng(int i){ int rs = 1; if(i==0||i==1){ return i; } if(i ...

  3. 表格对象的获取和更改(原生js)

    表格对象的获取 var oT = document.getElementById("tb"); //获取head console.log(oT.tHead); console.lo ...

  4. android Activity实现底部滑动弹出窗口及源码下载地址

    在做微信.微博.qq等分享时,一般是点击分享按钮后会从底部弹出滑动窗口,然后选择要分享的社交平台进行分享.今日头条.腾讯新闻等内容App的评论也是从底部滑动弹出输入窗口,进行评论输入的.本篇文章就讲讲 ...

  5. JavaScript中的 函数splice() 的使用。

    大二接触JavaScript初期,学习函数中有一道题: 定义一个2个参数的函数.第1个参数是一个数组,第2个参数是需要删除的元素.函数功能,在第1个实参数组中查找第2个实参提供的值,找到则删除该元素( ...

  6. IE9的F12工具,"网络"页签,点击"开始捕获"之后,请求显示的状态是"挂起"的分析和解决

    最近一个项目,客户端使用用jQuery编写ajax请求,服务端采用struts2框架.js发送请求和action处理请求过程中,遇到一个问题.刚开始觉得问题很诡异,仔细定位很久之后才发现问题,虽然问题 ...

  7. JS——this与new

    this: 1.this只出现在函数中 2.谁调用函数,this就指的是谁 3.new People的this指的就是被创建的对象实例 new: 1.开辟内存空间,存储新创建的对象 2.把this设置 ...

  8. VHDL之Serial-Parallel Multiplier

    1 Serial-parallel multiplier Figure 12.1 shows the RTL diagram of a serial-parallel multiplier. One ...

  9. FusionCharts 更新 chart data 数据

    var AlarmChart = null; function alarmChartReBuild(totalNum, alarmNum) { var alarmPart = (alarmNum * ...

  10. Python 之lxml解析库

    一.XPath常用规则 二.解析html文件 from lxml import etree # 读取HTML文件进行解析 def parse_html_file(): html = etree.par ...