前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GT3.1简化您的App性能测试(1)——全新的性能监测体系

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

作者头像
腾讯移动品质中心TMQ
修改2018-03-13 11:11:22
2.4K0
修改2018-03-13 11:11:22
举报

导读

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

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

版权所属,禁止转载!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯移动品质中心TMQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档