android源码 () - gt,GT-非官方介绍

GT-非官方介绍

一.GT 介绍

是什么:GT(随身调)是 APP 的随身调测平台,它是直接运行在手机上的 “集成调测环境”

它能做什么:

可对 APP 进行快速的性能测试 (CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash 日志查看、网络数据包的抓取、APP 内部参数的调试、真机代码耗时统计等

利用 GT 提供的基础 API 自行开发有特殊功能的 GT 插件

支持 android/ios

1.GT 客户端

主要是 GT 控制台,通过控制台,我们可以看到被测应用实时性能数据。总体来说,GT 客户端跟 SDK 需要配合使用,才能完成很多自定义操作,而且需要在被测应用中插桩。目前不太确定,是否有足够的 API 帮忙做任务调度跟初始化操作。

2.GT SDK

GT 需要控制台跟 SDK 一起使用才能发挥出最大效果,SDK 也可以脱机接入,不过需要在被测应用中插桩,主要分为三步:

在手机中安装 GT.apk

将 SDK jar 包添加到工程中

在合适的位 置插入 GT 初始化的代码

建立联系:在被测应用初始化阶段通过 GT.connect(Context, AbsGTParaLoader) 建立测试应用跟被测应用的联系

断开联系:完成测试后,需要在被测工程中调用 GT.disconnect(Context) 方法断开被测应用与 GT 的联系

3.GT Tools

GTTools 工具包是从 Android GT 源码中剥离并重构出来的可复用模块,在抽象过程中尽可能的考虑可扩展性。GTTools 工具包主要提供给基于 AndroidJUnit 的测试脚本用于性能指标的采集和数据监控。

这个的使用方法跟伽利略就很像了,同样是通过驱动测试脚本,来达到性能数据收集的目的。

4.GT 广播模式

本来广播不属于 GT 模块的一部分,之所以单独拿出来,是因为 GT 的广播模式可以无侵入式监控被测应用,也可以很方便接入到平台去扩展。但是目前还没办法确定,测试精确性问题,需要看源码。

二.使用方式

1.手动使用

单独使用 GT 客户端,可以完成一般的性能数据收集工作,可用于手动跟进一些问题。

2.内嵌方式使用

通过 GT 客户端跟 GT SDK 配合,在被测应用内部完成数据收集功能

通过在 AndroidJunit 测试工程中使用 GTTools,来完成数据收集功能,由于 GTTools 需要在 android 工程中引用,因此也没办法简单单独抽离,如果需要用于平台级别的任务调度,需要在 AndroidTest 工程中开发数据整理以及结果上传的模块

3.与平台集成使用

通过广播方式去启动测试任务:http://gt.qq.com/docs/a/UseGtWithBroadcast.txt

目前支持的测试包括 CPU/内存/PrivateDirty/NET 采集/FPS 采集/流畅度采集/耗电测试/内存填充/驱动抓包

三.GT 接入的优缺点

1.优点

完全开源

同时支持手动跟进性能问题以及自动接入方式支持

接入方式比较灵活:可以内嵌/可以以 androidTest 工程接入/可以通过平台方式接入

2.缺点

无法完全自动化:使用 profiler 前需要先手动开启 profiler 功能

应用内部插桩:需要熟悉被测应用的业务逻辑,难度相对较大。

测试准确性问题:处理方法综合来看比较简单粗暴,对整体的测试准确度存疑。

性能监控跨越到性能问题分析有一道天生的鸿沟

四.总结

如果想在 GT 做封装,可能使用广播模式驱动是比较合适的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值