GT 君此次给大家送来了强力的安卓 GT3.1 版本更新。在本次更新中,采用了在被测应用内嵌 SDK 的方式来获取流畅值,解决了 2.x 版本测试应用流畅值必须 root 手机的痛点。除此之外,GT3.1 版本引入了 Hook 功能,可以获取更加丰富详细的应用信息,例如页面加载速度,卡顿代码调用栈、IO 使用情况等。
下面我们不妨来看看这些便利的功能点吧!
CPU:表示进程或线程的繁忙程度
内存:表示当前进程内存的使用情况
流量:表示当前进程网络的使用情况
流畅值:表示当前应用的流畅程度
图:基础性能检测的结果
低流畅值区间:流畅值低于 40 帧/s 的区间 (正常绘制间隔为 16.7ms 即 60 帧/s)
单次大卡顿:当两次绘帧间隔大于 70ms,相当于丢了 4 帧以上的区间
图:卡顿区间的代码定位
Activity 测速:包括 Activity 的冷/热启动、生命周期、绘制信息、卡顿信息、页面平均流畅值,启动时长等。
Fragment 测速:包含了 Fragment 的冷/热启动、生命周期、卡顿信息、页面平均流畅值,启动时长等。
而以下几种情况则可认为页面启动卡顿或启动超时:
Activity 启动时长超过 250ms
Activity 页面 1 秒内卡顿超过 300ms
Activity 页面 5 秒内卡顿超过 500ms
Fragment 启动时长超过 150ms
图:每个 Activity 页面详细的启动数据
图:每个 Fragment 页面详细的启动数据
View 构建时长:View 在使用之前需要进行 Infalte 操作,此操作在主线程执行且耗时严重,通常是造成卡顿的直接原因。
View 绘制深度:View 的绘制深度决定着当前视图的复杂度,复杂度越高,越容易引起卡顿。
而以下情况则可认为 View 构建超时和绘制超时或 View 过于复杂:
当 View 构建时长超过 30ms,则可认为此 View 构建超时
当绘制时长超过 10ms,则可认为此 View 绘制超时
当 View 绘制深度大于 8 则可认为 View 绘制过于复杂
图:View 构建的数据
图:View 绘制的详情
图:线程分析结果
图:DB 检测结果
除了以上那些维度的分析检测外,还有包括 GC 检测、关键日志统计等维度的分析。测试简单,操作便捷,最多 30 分钟的测试时间,您就可以从多种维度,用不同的视角,全面了解您的应用!后续我们也将奉上详尽的原理讲解,溯本求源,让大家更深入了解这些功能的实现原理。
项目开源地址:
https://github.com/Tencent/GT
如果您还有好的建议,可以给我们留言
未完待续……
版权所属,禁止转载!
扫描下方二维码,关注微信公众号:腾讯移动品质中心 TMQ,获取更多测试干货!