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

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

时间: 2024-10-18 07:26:15

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

Android系统性能调优工具介绍

经作者授权,发表Tieto某青年牛的一篇<程序员>大作. Android系统性能调优工具介绍 在软件开发过程中,想必很多读者都遇到过系统性能问题.而解决系统性能问题的几个主要步骤是: 测评:对系统进行大量有针对性的测试,以得到合适的测试数据. 分析系统瓶颈:分析测试数据,找到其中的hotspot(热点,即bottleneck). 性能优化:对hotspot相关的代码进行优化. 由上述步骤可知,性能优化的目标对象是hotspot.如果找到的hotspot并非真正的热点,则性能优化的结果必然是事倍

Android性能调优工具之 TraceView

从1月份Google发布的16个关于性能优化的系列视频起,这段时间在各大社区都有看到很多优秀的关于优化系列的文章.有分析了性能产生的原因.有分享如何优化我们的应用.有介绍有哪些工具可以帮助我们检测性能问题. 其中 在关于一些系统性能调优工具里有介绍到工具之一:TraceView TraceView 是 Android 平台配备一个很好的性能分析的工具.它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到某个函数方法method的执行耗时时间. 因为小吕之前确实没有使用过该工具.所

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

Perf Event :Linux下的系统性能调优工具 2011-05-27 10:35 刘 明 IBMDW 字号:T | T Perf Event 是一款随 Linux 内核代码一同发布和维护的性能诊断工具,由内核社区维护和发展.Perf 不仅可以用于应用程序的性能统计分析,也可以应用于内核代码的性能统计和分析.得益于其优秀的体系结构设计,越来越多的新功能被加入 Perf,使其已经成为一个多功能的性能统计工具集 .本文将介绍 Perf 在应用程序开发上的应用. AD:2014WOT全球软件技术

性能调优工具

[性能调优工具jps.jstack.jmap.jhat.jstat.hprof使用详解]http://my.oschina.net/feichexia/blog/196575 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 这些问题在日常开发中可能被很多人忽视(比如有的人遇到上面的问题只是重启服务器或者调大内存,而不会深究问题根源),但能够理解并解决这些

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

转自:https://www.ibm.com/developerworks/cn/linux/l-cn-perf1/ Perf 简介 Perf 是用来进行软件性能分析的工具. 通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计.它不但可以分析指定应用程序的性能问题 (per thread),也可以用来分析内核的性能问题,当然也可以同时分析应用代码和内核,从而全面理解应用程序中的性能瓶颈. 最初的时候,它叫做 Performance counter,在 2.

Oracle第二话之调优工具

Oracle第二话之调优工具 原创if 0 = -I can 发布于2019-04-09 19:53:12 阅读数 172  收藏 展开 目录 1.告警日志 2.用户进程trace文件 3.动态性能视图 4.statspack 安装产生报告 5.生成AWR ADDM ASH 报告 6.explan  --用来看执行计划 1.告警日志 数据库出现任何问题,第一件事就是先看告警日志文件. 1)告警日志内容: (1)启动时间以及操作模式的启动和关闭命令. (2)涉及物理结构的操作,使用ALTER DA

Perf -- Linux下的系统性能调优工具

Perf 简介 Perf 是用来进行软件性能分析的工具. 通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计.它不但可以分析指定应用程序的性能问题 (per thread),也可以用来分析内核的性能问题,当然也可以同时分析应用代码和内核,从而全面理解应用程序中的性能瓶颈. 最初的时候,它叫做 Performance counter,在 2.6.31 中第一次亮相.此后他成为内核开发最为活跃的一个领域.在 2.6.32 中它正式改名为 Performance

mysql性能瓶颈分析、性能指标、指标搜集方法与性能分析调优工具

本文主要讲解mysql的性能瓶颈分析.性能指标.性能指标信息的搜集工具与方法.分析调优工具的使用. 文章尚未完成. 性能瓶颈: 慢.写速度比读速度慢很多  主要的性能指标: 访问频度, 并发连接量, 缓存命中率, index使用, slow log开启与分析, query Log,查询log Threads_cached:连接线程缓存是否开启  -> ONthread_cache_size :线程缓存数的大小query_cache_size: 查询缓存大小join_buffer_size :jo

Linux服务器常用性能调优工具

Linux服务器的性能往往受到CPU.内存.磁盘I/O.网络带宽等方面的影响,对于每个Linux后台服务器开发人员来说,掌握一些常用的性能调优工具是十分有必要的.下图几乎涵盖了一个系统的方方面面,图中的工具都可称得上是性能调优方面的“瑞士军刀”,短小精干.功能强大. 1.strace 在Linux中,进程不能直接访问硬件设备,当进程需要进行读取磁盘文件,接收网络数据等访问硬件设备 的操作时,必须由用户态模式切换至内核模式,通过系统调用访问硬件设备.strace可用来跟踪程序使用的底层系统调用,可