android DDMS method profiling 工具使用分析

Eclipse DDMS 试图的devices--start method profiling 该选项用来对指定APP内部的具体方法的性能进行分析;

”method profiling“ 点击运行后,图标右上角加了一个”灰色的点点“;

开启后选择自己要检测的APP 报名,即可测试,启动APP选择具体的页面;如果要精确跟踪APP内部的某个子页面,可以先启动APP,然后点击”method profiling“的启动按钮,就可精确分析APP内部具体的某个子页面;


启动”method profiling“ 按钮的截图;


形式运行后的效果图;

常用字段的属性说明如下:

列名                           描述
Name                        该线程运行过程中所调用的函数名
Incle Cpu Time        某函数占用的CPU时间,包含内部调用其他函数的CPU时间
Excl Cpu  Time        某函数占用的CPU时间,但不含内部调用其他函数所占用的CPU时间
Incl Real Time         某函数运行的真实时间,含调用其他函数所占用的真实时间
Excl Real Time        某函数运行的真实时间,不含调用其他函数所占用的真实时间
Call +Recur Calls/Total 某函数被调用次数以及递归调用占总调用次数的百分比
Cpu Time/Call        某函数调用CPU时间与调用次数的比,相当于该函数平均执行时间
Real Time/Call       某函数调用CPU的真实时间;



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

文章标签:  android profiling 性能 app

猜你喜欢

转载自blog.csdn.net/c_z_w/article/details/80307628