GT随身调的尝试

2,052 阅读3分钟

GT已在Github开源:github.com/Tencent/GT


GT(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug Environment)。利用GT,仅凭一部手机,无需连接电脑,您即可对APP进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash日志查看、网络数据包的抓取、APP内部参数的调试、真机代码耗时统计等。如果您觉得GT提供的功能还不够满足您的需要,您还可以利用GT提供的基础API自行开发有特殊功能的GT插件,帮助您解决更加复杂的APP调试问题。
GT支持iOS和Android两个手机平台,
其中:
iOS版是一个Framework包,必须嵌入APP工程,编译出带GT的APP才能使用;iPhone和iPad应用都能支持。
Android版由一个可直接安装的GT控制台APP和GT-SDK组成,GT控制台可以独立安装使用,SDK需嵌入被调测的应用、并利用GT控制台进行信息展示和参数修改。

在IOS上的使用

1)下载GT.framework,下载地址为:gt.qq.com/

2)XCode打开app工程的源码。将下载解压好的GT.embeddedframework直接拖拽到app工程的framework中。

3)添加GT.framework所需的系统frameworks;

4)AppDelegate.h中引用头文件#import <GT/GT.h>

5)AppDelegate.m中application:didFinishLaunchingWithOptions: 方法内初始化GT
//初始化GT

    GT_DEBUG_INIT;

    // GT Usage(合入) 设置GT logo不旋转及支持方向

    GT_DEBUG_SET_AUTOROTATE(false);

    GT_DEBUG_SET_SUPPORT_ORIENTATIONS(UIInterfaceOrientationMaskPortrait);

    // GT Usage(profiler) 打开profiler功能

    GT_TIME_SWITCH_SET(YES);

    // GT Usage(输入参数) 注册输入参数

    NSArray *array = [NSArray arrayWithObjects:@"1", @"2", @"3", nil];

    GT_OC_IN_REGISTER(@"并发线程数", @"TN", array);

    array = [NSArray arrayWithObjects:@"true", @"false", nil];

    GT_OC_IN_REGISTER(@"KeepAlive", @"KA", array);

    array = [NSArray arrayWithObjects:@"15", @"10", @"20", nil];

    GT_OC_IN_REGISTER(@"读超时", @"超时", array);

    array = [NSArray arrayWithObjects:@"false", @"true", nil];

    GT_OC_IN_REGISTER(@"Cache缓存", @"缓存", array);

    array = [NSArray arrayWithObjects:@"150", @"200", nil];

    GT_OC_IN_REGISTER(@"AddedMem", @"ADDM", array);

    array = [NSArray arrayWithObjects:@"5", @"4", @"3",@"2",@"1",nil];

    GT_OC_IN_REGISTER(@"Interval", @"INTE", array);

    // GT Usage(输入参数) 设置在悬浮框上展示的输入参数

    GT_OC_IN_DEFAULT_ON_AC(@"并发线程数", @"KeepAlive", nil);

    // GT Usage(输出参数) 注册输出参数

    GT_OC_OUT_REGISTER(@"下载耗时", @"耗时");

    GT_OC_OUT_REGISTER(@"实际带宽", @"带宽");

    GT_OC_OUT_REGISTER(@"singlePicSpeed", @"SSPD");

    GT_OC_OUT_HISTORY_CHECKED_SET(@"下载耗时", YES);

    GT_OC_OUT_REGISTER(@"numberOfDownloadedPics", @"NDP");

    GT_OC_OUT_REGISTER(@"本次消耗流量", @"流量");

    GT_OC_OUT_REGISTER(@"Battery Level", @"BL");

    GT_OC_OUT_WARNING_OUT_OF_RANGE_SET(@"Battery Level", 1, 0, 75);

    GT_OC_OUT_HISTORY_CHECKED_SET(@"Battery Level", YES);

    GTOUT_DELEGATE_SET(@"Battery Level", self);

    // GT Usage(输出参数) 设置在悬浮框上展示的输出参数

    GT_OC_OUT_DEFAULT_ON_AC(@"App CPU", @"App Memory", @"App Smoothness");

    GT_OC_OUT_DEFAULT_ON_DISABLED(@"singlePicSpeed", @"numberOfDownloadedPics", @"本次消耗流量", nil);

    return YES;

这段代码中包含了初始化GT、设置GT logo不旋转、打开profiler功能、注册输入参数、设置悬浮框上的输入参数、注册输出参数、悬浮框上的输出参数。

6)重写打包app,进行性能测试;最终性能测试数据可以保存到本地、并且可以图形化展示,很是方便。
实际操作报错了,边界溢出。不知道是否版本太老的缘故,暂时无解。

在安卓上的使用

1)在官网上下载gt.apk::gt.qq.com/ 很久没更新了,版本有点古老了
2)下载好后,像安装其他APP一样在手机上安装GT
3)打开GT


4)编辑关注的参数,参数>出参>编辑


5)耗时,如图,目前未做配合GT SDK的版本,暂时不可用此功能
6) 日志,开启后,可根据关键字过滤


7)耗电量数据采集,勾选电量和温度,点击开始

8)进入参数页面,会把耗电量的添加的参数电量和温度添加进来


9)开始执行被测程序


9)如果需要查看相关参数,点击GT的图标即可进入


10)比如查看内存的数据,点击数字可进入历史详情页面


11)批量保存和删除记录


12)脸上PC可查看保存的文件
更多详细的操作参考一下的链接
www.cnblogs.com/lixy-884289…