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(gh_2052d3e8c27d)

原文发表时间:2018-03-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能LeadAI

深度学习训练时GPU温度过高?几个命令,为你的GPU迅速降温。

新买回来的不带水冷公版GPU,在满负载运行的时候,温度从室温马上飙升到85度,而且模型训练不是几分钟完事,很有可能要长期保持在高温状态下运行,让如此昂贵的GPU...

4807
来自专栏FreeBuf

看我如何基于Python;Facepp打造智能监控系统

由于种种原因,最近想亲自做一个基于python&facepp打造的智能监控系统。 0x00:萌芽 1:暑假在家很无聊 想出去玩,找不到人。玩个lol(已卸载),...

4965
来自专栏腾讯移动品质中心TMQ的专栏

测试建模 :从尔康的鼻孔说开来,重要的用例写三遍

看完本文你会了解以下内容 1. 什么是SUT模型 2. 测试建模在工作中究竟是怎样一个过程 3. 从业务流程到测试用例我们忽略了什么 4. 测试建模会有哪些产出...

1945
来自专栏WeTest质量开放平台团队的专栏

手游测试大杀器DS-5 StreamLine快速入门

Streamline是一款由ARM公司制作的终极性能测试利器,可以快速定位手游性能问题,甚至可以直接追溯代码。但Streamline需要自行搭建,确实让不少同行...

1072
来自专栏AI科技大本营的专栏

AI 技术讲座精选:如何创建 R 包并将其发布在 CRAN / GitHub 上?

前 言 大多数受欢迎的编程语言都有个共同点——他们都是“开源”。开源是一种分散的开发模式,它基于社区参与。社区成员推动这种编程语言的发展,所得成果向所有人开放。...

2965
来自专栏木头编程 - moTzxx

PHP QRCode 生成二维码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

4664
来自专栏工科狗和生物喵

《实时软件控制设计》MATLAB-PIL测试报告基于Qemu Cortex-M 3的环境

正文之前 首先,跟助教说声抱歉,我们组因为一些因素没有按时完成PIL的测试,还要申请延期。另外也感谢助教的催促,让我们能够在今天下午就完成PIL测试,也算是为本...

3888
来自专栏CreateAMind

ROS探索总结(十二)——坐标系统

在机器人的控制中,坐标系统是非常重要的,在ROS使用tf软件库进行坐标转换。

1041
来自专栏大数据

UC Berkeley提出新型分布式执行框架Ray:有望取代Spark

译者|马卓奇 编辑|Natalie AI 前线导读:下一代人工智能应用程序需要不断地与环境交互,并从这些交互中学习。这对系统的性能和灵活性提出了新的要求,而现有...

3358
来自专栏Kotlin入门系列

师万物博客的历程(总)

1614

扫码关注云+社区