GT(随身调)是腾讯研发的一款可以用来做App性能测试的工具,可以对APP进行快速的性能测试,检测App的CPU、内存、流量、电量、帧率/流畅度等等、还能开启日志的查看、Crash日志查看、网络数据包的抓取、APP内部参数的调试、真机代码耗时统计等。
虽然现在该项目已经停止维护了,但是在网上依然可以搜索到GT的apk安装包。
或者在到githud 上下载源码自行编译成apk的包,地址:https://github.com/Tencent/GT
启动后默认页面
选择被测app和开启内存助手,选择想要采集的指标
内存指标:
PSS: 用于衡量 Android 应用的实际内存占用情况。
Private Dirty:是一个重要的内存指标,用于衡量进程独占且未被交换到磁盘的物理内存大小。它反映了应用自身分配的、未被共享且被修改过的内存(如堆内存、栈内存等)。
PSS = Private Dirty + Private Clean + 共享内存按比例分摊部分。
其他指标:
CPU: 用于检测应用的 CPU 占用率、线程负载和核心分布情况.
jiffies: GT 可以通过监控 jiffies 来分析 CPU 负载分布,帮助定位高耗电或性能瓶颈问题。
Net: 监控模块用于分析应用的流量消耗、连接状态、传输延迟 等关键指标
在【参数】页面点击【编辑】后,可拖动选择关注的参数
在点击【编辑】后,可拖动想要关注的指标信息
在【参数】页面点击小红点就开始采集数据,在切换到【AUT】页面,启动App并对待测业务进行响应的操作,这个过程中GT会收集指定的指标信息。
可以通过GT的启动按钮启动被测App
点击已关机的参数项,可看到当前资源的消耗图标信息
CPU的资源信息
测试完成后,点击小红点停止数据采集,可以点击【保存】图标,将采集到的数据以csv形式保存到指定路径,便于在后续调整后回归时进行数据对比。

以上操作可以在非root的权限下进行,如果需要进行耗电、抓包、流畅度(FPS)测试时,需要先获取到root权限,然后在安装插件进行。
GT/耗时页面
这里的耗时指的是App从点击启动到启动完成这个过程消耗的时间,而App的启动可分为冷启动和热启动两种。
冷启动是指当前手机上未启动过APP(即后台无该app的进程),从手机桌面点击app图标启动后,开始加载相关资源和初始化并完成渲染后展示的过程。
热启动是指当前App在后台运行,在切换回前台的过程。比如:同时开启多个app,再相互切换时,就是前/后台启动的过程,因为app进程并未被实际kill 死,不用重新初始化。
常见的场景如:直接将app切换后台再切回来、与电话事件冲突、锁屏与解锁(个别app)等
GT的耗时检测需要结合adb命令进行,在GT/耗时页面上,点击开启收集信息后,通过GT启动App是获取不到耗时的数据的。
# 冷启动 # 1、在GT/耗时页面,开启监控 # 2、kill 应用app后,通过adb命令 指定app的包名和活动页名 adb shell am start -W -S com.xxx.example/.MainActivity | grep "TotalTime"# 热启动 # 1、在GT/耗时页面,开启监控 # 2、将app切换到后台,通过adb命令,指定app的包名和活动页名 adb shell am start -W -S com.xxx.example/.GoodsListActivity | grep "TotalTime"
GT/日志
日志默认是关闭的,需要开启才能看到日志信息
GT/插件(要基于root权限)
耗电数据采集:主要是检查在使用App时耗电情况,比如App在频繁进行读写或渲染时,cpu在高频操作下,发热时耗电量会加快。或者其他因素影响耗电情况,如在雪地中
抓包:GT提供抓包的工具tcpdump,因此在开启抓包后,会将app的接口信息存放到pcap的文件中,可以通过wireshark工具来打开查看接口信息。
warelock锁:通过GT设置是否锁屏用的
内存填充:是用来检查内存溢出或内存不足等场景用的,比如现在手机内容4G,被测App占用了1G,通过GT设置占用内容2867.2MB左右(总共3.8G),剩余可用200多MB的情况下,app能否正常运行。如果内存不够用或溢出的时候,就更容易检测出来。
流畅度调试:就是FPS, 检查在滑动页面或其他操作时,是否存在卡顿的情况。一般手游的话会特别需要关注FPS的数值。
这个操作大概是:开启root权限启动GT后,先不用选择被测App,直接进入到插件页面,选择流畅度调试,
点击检查:提示NOT OK, 然后点击更改,再返回上一步(不用重启),再次选择流畅度调试,再次点击检测,就会显示:OK ,
然后再回到参数页面,选择FPS指标并开启监控,再回到AUT页面选择被测App然后启动就可以了。好像也不用重启也行。
效果如下: