app性能测试之TraceView-创新互联
一、介绍
创新互联建站网站建设公司,提供网站设计、做网站,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!TraceView是一款性能分析工具,可以进行数据采集和分析,可以以图形化的方式让我们了解要跟踪的程序并且能得到相关method。本文只讲解在app启动时候TraceView的功能,当然,对于app运行过程中出现的卡顿,延迟现象,也可以进行分析。
TraceView主要是分析方法的运行时间以及被调用的次数,在app启动过程中,如果方法花费的时间过长,超过了绘制屏幕第一帧的时间(16ms),就会出现卡顿、甚至ANR(no response)等问题。
TraceView采集数据有两种方法,一种是通过调用debug类,在你要跟踪的地方调用Debug.startMethodTracing方法,结束的地方再次调用即可(此处不作重点介绍);还有一种方法是直接通过DDMS里面的start method profiling实现(对于冷启动无法采集)
二、实例讲解
现在开始讲start method profiling方法。
如图,在DDMS里面选择进程(冷启动无进程可选,所以只能检查热启动(进程还在,只需启动mainactivity)),点击start method profiling。
然后弹出的分析方式里面选择默认方式,点击ok
start method profiling此时变黑,表示正在采集,执行相关app操作,然后再次点击start method profiling此时变红,接着弹出如图采集到的信息
时间面板
时间面板展示了每个线程的执行情况,其中的[1]main即为ui主线程。
移动到某个位置可以查看该点对应的方法的执行信息,点击方法面板则会选中相应的方法。
可以左键按住不放选中区域放大局部精细查看,不同方法用不同颜色标注
方法面板:
方法面板展示了所有方法的执行情况,点击某个方法可以查看在对应线程上的执行时间区域,并会显示其父方法及子方法。
每个方法包括如下信息列,可点击某列进行排序,从而确定产生性能问题的函数:
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与总调用次数的比例。查看每次调用的耗时,一般可通过简单此项确定每个函数的性能。
来张图更直观
测试方法:
找出图中执行时间及调用次数多的方法,进行优化
可参考此http://www.cnblogs.com/sunzn/p/3192231.html和https://www.youtube.com/watch?v=gk2G_FAESds&list=PLaYqF7AnyNPcllCrHZFNQrjGTPO8gCb28&index=66
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前标题:app性能测试之TraceView-创新互联
当前地址:http://myzitong.com/article/djoshd.html