Android的性能测试
2011-10-16 12:10
176 查看
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."
下边还有搜索框,可以进行方法类等的搜索。
第一步采集数据
用户可以选择激活或者取消实时数据采集功能。当该功能激活以后,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."
下边还有搜索框,可以进行方法类等的搜索。
相关文章推荐
- Android客户端性能测试(一):使用APT测试Android应用性能
- 【腾讯开源】Android性能测试工具APT使用指南
- Android性能专项测试之TraceView工具(Device Monitor)
- Android性能测试工具 Emmagee
- 性能测试之二----Android系统开机时间(转)
- Android性能测试工具:Emmagee
- Android 仿应用宝下载进度条-性能测试与进度绘制修改
- 腾讯优测优分享 | Android性能测试工具化实现
- Android应用开发之性能测试之TraceView
- 【Android】Android性能测试之DDMS的使用
- Android App性能测试
- Android性能专项测试之Batterystats
- Android IOS WebRTC 音视频开发总结(五六)-- 如何测试网络性能?
- Android应用性能测试
- Android 性能测试相关文章整理
- Android 性能测试实践(四) 流量
- android性能测试工具之dumpsys
- Android性能测试工具(一)之Emmagee
- Android性能测试工具Emmagee
- Android操作系统移植运行UnixBench进行基准性能测试