Android的性能测试

      Traceview是Android平台下的性能测试工具,它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。它包含了两部分,一部分用于程序执行过程中采集数据,另一部分用于在程序执行完毕后对数据进行分析。

第一步采集数据

用户可以选择激活或者取消实时数据采集功能。当该功能激活以后,Traceview进程就会记录下用户程序每一次的函数调用和耗时,并将数据保存到SDCard上的一个二进制文件中。

在程序中调用android.os.Debug.startMethodTracing方法启动实时数据采集,如下:

protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);//启动实时数据采集

  Debug.startMethodTracing("liming"); 

}

protected void onStop() {

  Debug.stopMethodTracing();//停止数据采集

  super.onStop();

}

第二步分析数据

把SDCard上的二进制数据文件导出到你的电脑上,在Dos窗口上进入Android SDK的tools目录,然后执行命令:

traceview   c://test.trace

执行指令后将打开图形化分析界面(界面内容说明如下)。

 

窗口的下半部分是对各个方法调用的汇总图Profile Panel。

Exclusive time是该方法本身基本操作的时间(不包括子方法调用)。

Inclusive time是该方法调用所用的时间(包括子方法调用)。

列1:"Name"表示Method名。

双击Method名,可以看到在上半界面是时间轴面图(Timeline Panel)看他的所消耗的时间段。(用粗的线段标注)。

双击Method名左边的"+"展开后可以看到,该Method的"parents"和"children"

列2:"incl%"表示Method的Inclusive time在整个MethodTracing时间里占的百分比。

列3:"Inclusive"表示Inclusive time。

列4:"Excl%"表示Method的Exclusive time在整个MethodTracing时间里占的百分比。

列5:"Exclusive"表示Exclusive time。

列6:"Calls+RecurCalls/Total"表示对Method的调用次数(包括递归调用)。如:"14+0"表示14次非递归调用,0次递归调用.

列7:"time/calls"表示平均的调用时间(即Inclusive time/ total calls)。

注:如果方法A调用方法B那么方法A称为方法B的"parents",方法B称为方法A的"children."

下边还有搜索框,可以进行方法类等的搜索。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值