【腾讯TMQ】GT3.1简化您的App性能测试(1)——全新的性能监测体系

导读

GT君此次给大家送来了强力的安卓GT3.1版本更新。在本次更新中,采用了在被测应用内嵌SDK的方式来获取流畅值,解决了2.x版本测试应用流畅值必须root手机的痛点。除此之外,GT3.1版本引入了Hook功能,可以获取更加丰富详细的应用信息,例如页面加载速度,卡顿代码调用栈、IO使用情况等。

下面我们不妨来看看这些便利的功能点吧!

1 基础性能分析

CPU:表示进程或线程的繁忙程度

内存:表示当前进程内存的使用情况

流量:表示当前进程网络的使用情况

流畅值:表示当前应用的流畅程度


图:基础性能检测的结果

2 卡顿检查分析

低流畅值区间:流畅值低于40帧/s的区间(正常绘制间隔为16.7ms即60帧/s)

单次大卡顿:当两次绘帧间隔大于70ms,相当于丢了4帧以上的区间


图:卡顿区间的代码定位

3 页面测速分析

Activity测速:包括Activity的冷/热启动、生命周期、绘制信息、卡顿信息、页面平均流畅值,启动时长等。

Fragment测速:包含了Fragment的冷/热启动、生命周期、卡顿信息、页面平均流畅值,启动时长等。

而以下几种情况则可认为页面启动卡顿或启动超时:

Activity启动时长超过250ms

Activity页面1秒内卡顿超过300ms

Activity页面5秒内卡顿超过500ms

Fragment启动时长超过150ms


图:每个Activity页面详细的启动数据


图:每个Fragment页面详细的启动数据

4 布局检测分析

View构建时长:View在使用之前需要进行Infalte操作,此操作在主线程执行且耗时严重,通常是造成卡顿的直接原因。

View绘制深度:View的绘制深度决定着当前视图的复杂度,复杂度越高,越容易引起卡顿。

而以下情况则可认为View构建超时和绘制超时或View过于复杂:

当View构建时长超过30ms,则可认为此View构建超时

当绘制时长超过10ms,则可认为此View绘制超时

当View绘制深度大于8则可认为View绘制过于复杂


图:View构建的数据


图:View绘制的详情

5 线程时间片分析


图:线程分析结果

6 DB检测分析


图:DB检测结果

总结

除了以上那些维度的分析检测外,还有包括GC检测、关键日志统计等维度的分析。测试简单,操作便捷,最多30分钟的测试时间,您就可以从多种维度,用不同的视角,全面了解您的应用!后续我们也将奉上详尽的原理讲解,溯本求源,让大家更深入了解这些功能的实现原理。

项目开源地址:
https://github.com/Tencent/GT

如果您还有好的建议,可以给我们留言

未完待续……

版权所属,禁止转载!

扫描下方二维码,关注微信公众号:腾讯移动品质中心TMQ,获取更多测试干货!

你可能感兴趣的:(专项测试)