欢迎来到天天文库
浏览记录
ID:8924661
大小:317.75 KB
页数:5页
时间:2018-04-12
《性能测试工具traceview简介》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、性能测试工具traceview简介作者:网络转载发布时间:[2012/11/110:17:51]推荐标签: 一、TraceView工具简述 Traceview是android平台配备的一个很好的性能分析工具。它可以通过图形界面的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。 二、TraceView工具使用方法 TraceView有三种启动方式,下面逐一介绍: 1、代码中启动 可以在代码中添加 Debug.startMethodTracing(“Tracelog”); Debug.stopMethodTracing();
2、使用这种方式需要确保应用的AndroidMainfest.xml中的SD卡的读写权限是打开的,即 应用运行完后,会在SD卡下生成一个Tracelog文件,使用adbpull把这个文件拷贝至XP系统上,再在androidsdk的tools目录下执行traceviewTracelog,则会弹出一个图形界面,通过这个图形界面就可以分析出应用的性能瓶颈; 2、Eclipse中启动 Eclipse启动traceview及其简单,在DDMS中对需要分析的应用进程点击如下按钮 在需要停止traceview的地方点击相同的按钮,则Eclipse会自动弹出类似1中的
3、一个图形界面; 3、adb命令行启动 adbshellamprofilestart adbshellamprofilestop PROCESS_ID为应用的进程号,可以用ps命令获取,TRACE_FILE为需要存储的Trcaelog文件。 执行上面的命令后,会生成对应的TRACE_FILE,使用adbpull把这个文件拷贝至XP系统上,再在androidsdk的tools目录下执行traceviewTracelog,则会弹出一个图形界面,通过这个图形界面就可以分析出应用的性能瓶颈; 三、TraceView界面说明 上述步骤生成的图形界面如下所
4、示: 1、时间轴面板: 每个线程的执行都显示在随着时间渐增右移的各自行上。不同的方法用不同的颜色来表示。下面的细线显示选中方法的调用时长(由进入到退出)。 2、Profile面板: 该表给出了theinclusiveandexclusivetimes及他们所占有的百分比。 Exclusivetime是该函数本身基本操作(不包括子函数调用)的时间。 Inclusivetime是该函数调用所用的时间(包括子函数调用)的时间。 列1:”Name”表示函数名。 双击函数名,可以看到在上半界面是时间轴面图(TimelinePanel)看他的所消耗的时
5、间段。(用粗的线段标注)。 双击函数名左边的”+”展开后可以看到,该函数的”parents”和”children”性能测试工具traceview简介作者:网络转载发布时间:[2012/11/110:17:51]推荐标签: 列2:”incl%”表示函数的Inclusivetime在整个MethodTracing时间里占的百分比。 列3:”Inclusive”表示Inclusivetime。 列4:”Excl%”表示函数的Exclusivetime在整个MethodTracing时间里占的百分 比。 列5:”Exclusive”表示Exclusiv
6、etime。 列6:”Calls+RecurCalls/Total”表示对函数的调用次数(包括递归调用)。 列7:新的版本(比如2.2)还有”time/calls”表示平均的调用时间(即Inclusivetime/ totalcalls)。 注:如果函数A调用函数B那么函数A称为函数B的”parents”,函数B称为函数A的”children.” 四、TraceView工具实例使用说明 本例以安居客选择一个城市中的一套房源进行收藏的过程为例,详细讲述如何使用TraceView工具。 操作步骤如下: 1、启动Eclipse,并连接上模拟器;
7、 2、在模拟器上启动安居客应用,并打开DDMS,选中安居客进程; 3、点击Startprofilemethod按钮; 4、在安居客中打开一套房源,等待房源成功打开后查看大图并进行收藏; 5、点击DDMS中的stopprofilemethod按钮,将会在Eclipse中自动弹出一个图形界面。 按照平均调用时间(time/calls)从大到小来进行排序,见下图: 从上图可知,DetailActivityForPicture.onCreat()函数的平均调用时间为4.034秒,共调用了1次,调用时间相对较久,再看它调用的子函数。其中,子函数Deta
8、ilActivityForPicture.initInfo()的调
此文档下载收益归作者所有