【Android】开发优化之——调优工具:TrackView,Method Profiling
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都是以毫秒计算。每列具体含义及作用如下:
- Incl表示将所有子函数耗时也计算在内,Excl则表示不包括子函数的调用时间。对比可以确定耗时操作发生是自身还是子函数中。
- Cpu Time表示占用cpu执行的时间,Real Time包括Cpu Time以及等待、切换的时间等,所以一般都大于Cpu Time。对比可以判断耗时操作是否在cpu执行段内。
- 上面四个指标对应的%表示函数在总时间的占比。方便查看某个函数的时间占比。
- Calls+RecurCalls/Total表示被外部调用次数+递归次数/总次数。可以查看调用次数是否符合自己预期。
- Cpu Time/Call, Real Time/Call表示总的Cpu Time及Real Time与总调用次数的比例。查看每次调用的耗时,一般可通过简单此项确定每个函数的性能。
转载于:https://www.cnblogs.com/scios/articles/4350317.html
【Android】开发优化之——调优工具:TrackView,Method Profiling相关推荐
- Android系统性能调优工具介绍
经作者授权,发表Tieto某青年牛的一篇<程序员>大作. Android系统性能调优工具介绍 在软件开发过程中,想必很多读者都遇到过系统性能问题.而解决系统性能问题的几个主要步骤是: 测评 ...
- 【建议收藏】15755字,讲透MySQL性能优化(包含MySQL架构、存储引擎、调优工具、SQL、索引、建议等等)
0. 目录 1)MySQL总体架构介绍 2)MySQL存储引擎调优 3)常用慢查询分析工具 4)如何定位不合理的SQL 5)SQL优化的一些建议 1 MySQL总体架构介绍 1.1 MySQL总体架构 ...
- 【JVM 学习笔记 05】:JVM性能调优工具的使用和优化案例
[JVM 学习笔记 05]:JVM性能调优工具的使用 1. 使用 jstat(命令行工具) 查看线上系统的JVM运行状况 1.1 常用命令 1.2 使用技巧 1.2.1 随着系统运行,每秒钟会在年轻代 ...
- 【建议收藏】15755 字,讲透 MySQL 性能优化(包含 MySQL 架构、存储引擎、调优工具、SQL、索引、建议等等)
0. 目录 1)MySQL 总体架构介绍 2)MySQL 存储引擎调优 3)常用慢查询分析工具 4)如何定位不合理的 SQL 5)SQL 优化的一些建议 1 MySQL 总体架构介绍 1.1 MySQ ...
- mysql配置优化ya_mysql性能调优工具之mytop
Mysql性能调优工具之mytop的安装和使用 1.mytop的下载地址 2.首先安装mytop必要的组件. yum -y install perl-DBD-MySQL perl-DBIperl-Te ...
- 开发人员MySQL调优-实战篇2-让SQL使用索引详解
2019独角兽企业重金招聘Python工程师标准>>> 建议先看看开发人员MySQL调优-实战篇0 让执行的SQL使用索引 虽然DBA给我们建了很多索引,但没有经验的开发人员往往只看 ...
- JVM学习笔记之-堆,年轻代与老年代,对象分配过程,Minor GC、Major GC、Full GC,堆内存大小与OOM,堆空间分代,内存分配策略,对象分配内存,小结堆空间,逃逸分析,常用调优工具
堆的核心概述 概述 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域.Java堆区在JVM 启动的时候即被创建,其空间大小也就确定了.是JVM管理的最大一块内存空间. 堆内存的大小是可 ...
- mysql查询并设置高亮_慢查询分析调优工具~mysqldumpslow
在日常的业务开发中,MySQL出现慢查询是很常见的,要么说明你家产品的增长性很好,要么就是你的SQL写的太烂了.所以对慢查询SQL进行分析和优化很重要,其中mysqldumpslow是MySQL服务自 ...
- Java应用性能调优工具介绍及实践
一.背景 (1).随着微服务架构的逐渐推广,一个大型的单个应用程序被拆分为数个微服务系统,这为研发人员的本地调试跟踪带来困难 (2).在微服务架构中,由于业务的复杂性,常常一个业务流程涉及好数个微服务 ...
最新文章
- [Gamma阶段]第十次Scrum Meeting
- 区块链BaaS云服务(7)微软Azure区块链服务
- 深度学习方法笔记之(三):基于区域的卷积神经网络介绍(RCNN)
- 企业拥抱开源之前,必须了解的七件事
- SSL *** vs IPSEC ***
- 智能语音升级用户体验,标贝以创新优势布局儿童有声内容市场
- Week2——XML
- 新手干货:Vue - 事件修饰符
- 507 LOJ 「LibreOJ NOI Round #1」接竹竿
- 光谷码农·每日新闻(2019-05-09)
- 学生学籍管理系统页面源代码html_学生管理系统(界面+源代码)
- k3note Android8,价格只差100 乐檬K3 Note对比红米Note
- 软件质量管理QM、QA、QC的区别
- 文献检索与下载的几种方式
- 【craps赌博游戏】
- 自驾游分享你的快乐来[有车大师]吧!
- 【历史上的今天】9 月 28 日:“超级计算机之父”诞生;三星推出移动支付;LibreOffice 发布
- word文档里插入图片显示不完整,只显示一半,怎么处理?
- 好程序员web前端学习路线分享css3中的渐进增强和降级
- 在Redmond见到我的偶像Anders
热门文章
- mockjs针对value生成随机数值(随机字符串,数值,日期,url,图片地址,email,ip等)
- Scala代码案例:判断一个年份是否是闰年
- nginx lua示例
- Java工具类--雪花算法生成全局唯一ID
- latex调整caption图表标题行间距、字体大小、左对齐
- springboot2.3.x版本对应的spring5与thymeleaf版本配置
- 用u盘做引导,往硬盘中安装ubuntu
- html 形成打印数据,用HTMLTestRunner生成报告,无法打印print的内容
- 常用 BUG 解决方法
- C/C++之大端模式和小端模式