Android SDK自带的tool TrackView 位于 sdk的tools目录下。用法为:进入到tools下,运行

traceview e:\loginActivityTracing.trace

即可。那trace文件怎么生成的呢?

有两种方式生成

1、使用代码生成,只需要在需要调用的地方调用

Debug.startMethodTracing("loginActivityTracing");  

和结束调用的地方调用

Debug.stopMethodTracing(); 

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

2、没有代码呢,可以使用DDMS来生成。

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

执行之后可以看到这样一个图片:

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都是以毫秒计算。每列具体含义及作用如下:

  1. Incl表示将所有子函数耗时也计算在内,Excl则表示不包括子函数的调用时间。对比可以确定耗时操作发生是自身还是子函数中。
  2. Cpu Time表示占用cpu执行的时间,Real Time包括Cpu Time以及等待、切换的时间等,所以一般都大于Cpu Time。对比可以判断耗时操作是否在cpu执行段内。
  3. 上面四个指标对应的%表示函数在总时间的占比。方便查看某个函数的时间占比。
  4. Calls+RecurCalls/Total表示被外部调用次数+递归次数/总次数。可以查看调用次数是否符合自己预期。
  5. Cpu Time/Call, Real Time/Call表示总的Cpu Time及Real Time与总调用次数的比例。查看每次调用的耗时,一般可通过简单此项确定每个函数的性能。

转载于:https://www.cnblogs.com/scios/articles/4350317.html

【Android】开发优化之——调优工具:TrackView,Method Profiling相关推荐

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

    经作者授权,发表Tieto某青年牛的一篇<程序员>大作. Android系统性能调优工具介绍 在软件开发过程中,想必很多读者都遇到过系统性能问题.而解决系统性能问题的几个主要步骤是: 测评 ...

  2. 【建议收藏】15755字,讲透MySQL性能优化(包含MySQL架构、存储引擎、调优工具、SQL、索引、建议等等)

    0. 目录 1)MySQL总体架构介绍 2)MySQL存储引擎调优 3)常用慢查询分析工具 4)如何定位不合理的SQL 5)SQL优化的一些建议 1 MySQL总体架构介绍 1.1 MySQL总体架构 ...

  3. 【JVM 学习笔记 05】:JVM性能调优工具的使用和优化案例

    [JVM 学习笔记 05]:JVM性能调优工具的使用 1. 使用 jstat(命令行工具) 查看线上系统的JVM运行状况 1.1 常用命令 1.2 使用技巧 1.2.1 随着系统运行,每秒钟会在年轻代 ...

  4. 【建议收藏】15755 字,讲透 MySQL 性能优化(包含 MySQL 架构、存储引擎、调优工具、SQL、索引、建议等等)

    0. 目录 1)MySQL 总体架构介绍 2)MySQL 存储引擎调优 3)常用慢查询分析工具 4)如何定位不合理的 SQL 5)SQL 优化的一些建议 1 MySQL 总体架构介绍 1.1 MySQ ...

  5. mysql配置优化ya_mysql性能调优工具之mytop

    Mysql性能调优工具之mytop的安装和使用 1.mytop的下载地址 2.首先安装mytop必要的组件. yum -y install perl-DBD-MySQL perl-DBIperl-Te ...

  6. 开发人员MySQL调优-实战篇2-让SQL使用索引详解

    2019独角兽企业重金招聘Python工程师标准>>> 建议先看看开发人员MySQL调优-实战篇0 让执行的SQL使用索引 虽然DBA给我们建了很多索引,但没有经验的开发人员往往只看 ...

  7. JVM学习笔记之-堆,年轻代与老年代,对象分配过程,Minor GC、Major GC、Full GC,堆内存大小与OOM,堆空间分代,内存分配策略,对象分配内存,小结堆空间,逃逸分析,常用调优工具

    堆的核心概述 概述 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域.Java堆区在JVM 启动的时候即被创建,其空间大小也就确定了.是JVM管理的最大一块内存空间. 堆内存的大小是可 ...

  8. mysql查询并设置高亮_慢查询分析调优工具~mysqldumpslow

    在日常的业务开发中,MySQL出现慢查询是很常见的,要么说明你家产品的增长性很好,要么就是你的SQL写的太烂了.所以对慢查询SQL进行分析和优化很重要,其中mysqldumpslow是MySQL服务自 ...

  9. Java应用性能调优工具介绍及实践

    一.背景 (1).随着微服务架构的逐渐推广,一个大型的单个应用程序被拆分为数个微服务系统,这为研发人员的本地调试跟踪带来困难 (2).在微服务架构中,由于业务的复杂性,常常一个业务流程涉及好数个微服务 ...

最新文章

  1. [Gamma阶段]第十次Scrum Meeting
  2. 区块链BaaS云服务(7)微软Azure区块链服务
  3. 深度学习方法笔记之(三):基于区域的卷积神经网络介绍(RCNN)
  4. 企业拥抱开源之前,必须了解的七件事
  5. SSL *** vs IPSEC ***
  6. 智能语音升级用户体验,标贝以创新优势布局儿童有声内容市场
  7. Week2——XML
  8. 新手干货:Vue - 事件修饰符
  9. 507 LOJ 「LibreOJ NOI Round #1」接竹竿
  10. 光谷码农·每日新闻(2019-05-09)
  11. 学生学籍管理系统页面源代码html_学生管理系统(界面+源代码)
  12. k3note Android8,价格只差100 乐檬K3 Note对比红米Note
  13. 软件质量管理QM、QA、QC的区别
  14. 文献检索与下载的几种方式
  15. 【craps赌博游戏】
  16. 自驾游分享你的快乐来[有车大师]吧!
  17. 【历史上的今天】9 月 28 日:“超级计算机之父”诞生;三星推出移动支付;LibreOffice 发布
  18. word文档里插入图片显示不完整,只显示一半,怎么处理?
  19. 好程序员web前端学习路线分享css3中的渐进增强和降级
  20. 在Redmond见到我的偶像Anders

热门文章

  1. mockjs针对value生成随机数值(随机字符串,数值,日期,url,图片地址,email,ip等)
  2. Scala代码案例:判断一个年份是否是闰年
  3. nginx lua示例
  4. Java工具类--雪花算法生成全局唯一ID
  5. latex调整caption图表标题行间距、字体大小、左对齐
  6. springboot2.3.x版本对应的spring5与thymeleaf版本配置
  7. 用u盘做引导,往硬盘中安装ubuntu
  8. html 形成打印数据,用HTMLTestRunner生成报告,无法打印print的内容
  9. 常用 BUG 解决方法
  10. C/C++之大端模式和小端模式