分享好友 最新动态首页 最新动态分类 切换频道
3、System Information
2024-12-27 05:13

Android性能优化是Android开发中经常遇见的一个问题,接下来将对Android性能优化方面的知识点做一个简单的梳理和总结,将从工具和代码两方面进行梳理。所谓工欲善其事必先利其器,本文首先来看一下Android性能优化有哪些得力的工具。

3、System Information

 

traceview是Android SDK中自带的一个工具,可以对应用中方法调用耗时进行统计分析,是Android性能优化和分析时一个很重要的工具。traceview位于SDK下的tools目录中,使用时可以在cmd窗口运行traceview命令,也可以在ddms中使用,我个人比较偏向于后一种方式,比较方便易操作,不需要修改代码。
 
  • 方法一:在相应进行traceview分析的开始位置和结束位置分别调用startMethodTracing和stopMethodTracing方法,可见下面的示例代码:
在结束后会生成".trace"文件,然后 通过命令traceview *.trace对数据文件进行分析。startMethodTracing共有6个重载的方法,在调用时可以根据需要进行调用。如果采用不带参数的方法,产生的“.trace"文件默认将存放到外置存储器根目录下(/sdcard/),名为”dmtrace.trace",为了方便这里建议自定义trace的名称(startMethodTracing(String traceName))。
  • 方法二:traceview也可以在ddms中直接使用,即在ddms中在选中某个要进行监控的进程后,点击如图所示的小图标开始监控,在监控结束时再次点击小图标,ddms会自动打开traceview视图:
 
这两种使用方式,各有优缺点:第一种监控过程比较精确,但需要修改代码;第二种监控使用方便,不需要修改代码,但步入第一种精确。我个人在使用时一般比较偏向第二种使用方式。
 
下面的视图是我在ddms中监控com.tencent.mobileqq进程(随便选的一个)生成的。
可以看出整个traceview视图分为上下两大部分,上半部分被称为时间轴面板(Timeline Panel),下半部分被称为分析面板(Profile Panel)
  • 时间轴面板
界面上方的尺子代表了MethodTracing的时间段(从Debug.startMethodTracing()到Debug.stopMethodTracing()的时间)。
每个线程的函数执行时间图处于和线程名同一行的右侧。
注1:线宽度代表执行该函数本身操作所用的时间。
注2:函数所调用的子函数时间线夹杂在该函数本身操作所用的时间线之间。
注3:时间线的高度不知道有什么意义。
注4:函数本身是嵌套的。
注5:每行下面粗的线段标注了Profile Panel中被选中函数调用所消耗的时间段。每个线段对应一次函数的运行。
  • 分析面板
Exclusive time是该函数本身基本操作(不包括子函数调用)的时间。
Inclusive time是该函数调用所用的时间(包括子函数调用)的时间。
列1:"Name"表示函数名。
双击函数名,可以看到在上半界面是时间轴面图(Timeline Panel)看他的所消耗的时间段。(用粗的线段标注)。
双击函数名左边的"+"展开后可以看到,该函数的"parents"和"children"
列2:"incl%"表示函数的Inclusive time在整个MethodTracing时间里占的百分比。
列3:"Inclusive"表示Inclusive time。
列4:"Excl%"表示函数的Exclusive time在整个MethodTracing时间里占的百分比。
列5:"Exclusive"表示Exclusive time。
列6:"Calls+RecurCalls/Total"表示对函数的调用次数(包括递归调用)。如图2的nativeFinished()那列为"14+0"表示14次非递归调用,0次递归调用.
列7:新的版本(比如2.1)还有"time/calls"表示平均的调用时间(即Inclusive time/ total calls)。如图3。来自google文档的图2感觉有老了。
注:如果函数A调用函数B那么函数A称为函数B的"parents",函数B称为函数A的"children."
 
Google关于traceview工具的介绍可参考http://developer.android.com/intl/zh-cn/tools/debugging/debugging-tracing.html
 
 
APT工具是腾讯公司内部开发使用的一款性能分析工具,主要可以用来对进程的CPU和内存进行监视很分析,使用非常方便,下面是截图:
 
对于APT的原理比较简单,就是利用top和dump命令抓取数据,所以,这里如果我们不用APT,自己写个小程序调用top也是一样的。对于APT的使用比较简单,一目了然,折利率不再赘述。
 
APT软件现在已经开源,可参考:https://code.csdn.net/Tencent/apt/
 
System Information是集成在DDM中的一款工具,可以用用来对CPU、内存和帧进行抓取,与APT不同的是System Information抓取的是整个系统的某个瞬间信息。先是其使用时的截图,具体使用方法比较简单,不再赘述。
 
 
MAT工具可谓大名鼎鼎,是用来进行内存泄露分析的主要工具。MAT Eclipse 插件的安装地址为:http://download.eclipse.org/mat/1.3.1/update-site/。关于MAT的使用这里就不介绍了,网上关于它的材料到处都是,没有必要重复造车轮子。这里要说明的一点事:在通过dump生成prof文件时,生成的文件MAT不能直接使用,必须通过hprof-conv命令进行转换处理。如果使用MAT的Eclipse插件,则不需要转化,Eclipse会 自动处理,因此建议采用后一种方式。下面是MAT的一张图:
 
最新文章
谷歌SEO优化,如何助力我的Authority Site提升?
在当今互联网信息爆炸的时代,拥有一个高权威性的网站(Authority Site)是每个网站运营者的梦想。这不仅意味着更高的流量,更优质的用户,还意味着更多的商业机会。作为一名在SEO领域摸爬滚打多年的从业者,我深知谷歌SEO优化对于提升Auth
通过阅读《手机断舍离》,我们可以学会如何找回那些被手机夺走的时间和注意力。我们可以重新发现生活中的美好和纯粹的快乐。这是一次自我救赎的实践,也是对现代生活的深刻反思。
飞屏无法连接电脑版(飞屏无法连接电脑版网络)
好酷屋教程网小编为您收集和整理了飞屏无法连接电脑版(飞屏无法连接电脑版网络)的相关教程:飞屏无法连接电脑版网络先打开歪飞开关  点击右下角无线网络连接的图标或者点击左下角开始-设置-网络连接-双击无线网络连接-查看无线网络  在
短视频平台源码,短视频软件开发,短视频app源码搭建
一、短视频平台源码的功能1、短视频功能:短视频是短视频平台源码的主要功能,用户可以发布、编辑、观看短视频。2、直播功能:短视频软件开发实现直播功能,主播可以带货、连麦、进行PK。3、聊天功能:短视频app源码支持用户聊天,方便用户
金东一医生-哈尔滨市金东一医生产阴道紧致手术价格及案例口碑深解析
作为哈尔滨市产阴道紧致手术好的医生,金东一医生产阴道紧致手术精细、效果良好,引得哈尔滨市整友纷纷关注,大家想知道金东一产阴道紧致手术价位多少钱?金东一医生产阴道紧致手术贵不贵?金东一产阴道紧致手术收费价位合理,快来看看。下
自治区农业农村厅办公室关于印发2024年基层农业技术推广服务能力提升项目实施方案的通知(桂农厅办发〔2024〕10号)
各市、县(区)农业农村局,自治区蚕业技术推广站:为保证基层农业技术推广服务能力提升项目顺利实施,进一步激发各地农科院(所)改革创新活力,提升科研推广服务能力,推动现代特色农业高质量发展,现将《2024年基层农业技术推广服务能力
奔驰EQE AMG怎么样 内外兼修
主流车尺寸适中,能够很好的满足各方面需求,同时主流车的价格也比较合理,所以买它就对了!如今消费者买车首先就是要看这款车配置丰不丰富,对于自然也不例外。赶紧来看看它吧。先看下奔驰EQE AMG的外观,奔驰EQE AMG前脸整体看上去较为精
相关文章
推荐文章
发表评论
0评