应用性能测试之TraceView

一、介绍,

, TraceView是一款性能分析工具,可以进行数据采集和分析,可以以图形化的方式让我们了解要跟踪的程序并且能得到相关的方法。本文只讲解在应用启动时候TraceView的功能,当然,对应用于运行过程中出现的卡顿,延迟现象,也可以进行分析。

,TraceView主要是分析方法的运行时间以及被调用的次数,在应用程序启动过程中,如果方法花费的时间过长,超过了绘制屏幕第一帧的时间女士(16),就会出现卡顿,甚至ANR(没有反应)等问题。

,TraceView采集数据有两种方法,一种是通过调用调试类,在你要跟踪的地方调用


<强>时间面板展示了每个线程的执行情况,其中的[1]主要即为ui主线程。

移动到某个位置可以查看该点对应的方法的执行信息,点击方法面板则会选中相应的方法。

可以左键按住不放选中区域放大局部精细查看,不同方法用不同颜色标注

方法面板:

,

<强>方法面板展示了所有方法的执行情况,点击某个方法可以查看在对应线程上的执行时间区域,并会显示其父方法及子方法。

每个方法包括如下信息列,可点击某列进行排序,从而确定产生性能问题的函数:

包括Cpu时间,Excl Cpu时间,包括实时Excl实时,包括Cpu时间百分比,Excl Cpu时间百分比,包括实时%,Excl实时%,电话+ RecurCalls/总Cpu时间/电话、实时/调用

所有的时候都是以毫秒计算。每列具体含义及作用如下:

。包括表示将所有子函数耗时也计算在内,Excl则表示不包括子函数的调用时间。对比可以确定耗时操作发生是自身还是子函数中,

b。Cpu时间表示占用Cpu执行的时间,实时包括Cpu时间以及等待,切换的时间等,所以一般都大于Cpu时间。对比可以判断耗时操作是否在Cpu执行段内。

c。上面四个指标对应的%表示函数在总时间的占比。方便查看某个函数的时间占比。

d。电话+ RecurCalls/总表示被外部调用次数+递归次数/总次数。可以查看调用次数是否符合自己预期。

e。Cpu时间/调用实时/调用表示总的Cpu时间及实时与总调用次数的比例。查看每次调用的耗时,一般可通过简单此项确定每个函数的性能。

,来张图更直观

,, 应用性能测试之TraceView

应用性能测试之TraceView

测试方法:

,找出图中执行时间及调用次数多的方法,进行优化

,可参考此http://www.cnblogs.com/sunzn/p/3192231.html和https://www.youtube.com/watch?v=gk2G_FAESds&,列表=PLaYqF7AnyNPcllCrHZFNQrjGTPO8gCb28&指数=66

,,

应用性能测试之TraceView