【腾讯开源】Android性能测试工具APT使用指南
【腾讯开源】Android性能测试工具APT使用指南
- 2014-04-23 09:58
- CSDN CODE
- 作者 CSDN CODE
- 17
- 7833
我们近日对腾讯的安卓平台高效的性能测试工具APT团队进行了专访。APT,Android Performance Testing Tools,适用于开发自测和定位性能瓶颈,帮助测试人员完成性能基准测试、竞品测试。

APT提供了CPU利用率实时曲线图、多维度内存实时曲线图,方便竞品对比测试和定位内存泄露问题;支持进程内存构成分析,支持手工或超过阈值时自动转储(Dump)详细堆内存对象信息,支持多进程,支持生成和导出常用格式的的日志图表。
APT相比同类工具,具有下面2大特性:
- 使用Java语言开发,基于Eclipse,跨平台,支持windows、Linux和MAC;
- 支持同时监控多个进程。
那如何高效利用APT工具呢?现在,我们为大家准备了从安装部署到开启APT各重要功能的介绍资料,方便大家参考。
APT源码地址:https://code.csdn.net/Tencent/apt
欢迎大家进行建立分支和提交更改。
一、安装部署
我们只需要将下载的APT_Eclipse_Plugin.jar文件( 前往CSDN CODE下载)放到Eclipse安装目录下的plugins文件夹下,然后重启Eclipse即可。选择“Eclipse工具栏Window - Open Perspective - Other”,选择APT,即可启动APT透视图。
提示:我们需要提前安装ADT插件。如果是升级安装,可能需要在启动Eclipse的快捷方式中添加“-clean”参数,清除插件的缓存信息。
二、CPU与内存检测
1. “设置”视图简介
首先,我们对“设置”视图的各标签页进行简单介绍:
- 首选页:控制当前的测试内容;
- CPU:可设置采样间隔、CPU占有率的采集方法;提供top和dumpsys cpuinfo两种方式;jiffies统计开关,可以精确量化CPU时间片消耗,适用于待机功耗测试;
- 内存:可设置采集间隔、自动转储(Dump)内存快照开关、自动转储(Dump)内存快照阈值;可设置内存类型曲线显示开关,此项在测试过程中可动态调整。

2. 启动CPU与内存检测
- 在“设置”视图的“首选项”选项卡中选择监测项:CPU或内存;
- 点击“进程列表”视图右上角的刷新按钮,获取手机上的正在运行进程列表;
- 在进程列表中双击或者右键添加要测试的进程(支持多选);
- 点击“开始”按钮,即可启动监测。
3. 生成统计表格
在CPU、内存视图右边的统计表格中会实时统计CPU、内存和jiffies等三个统计项的最大值、最小值、平均值和增量等统计数据。如下图所示:

三、获取内存快照
获取内存快照的方式有2种,一种是手动方式,一种是自动获取。
1. 手动获取内存快照:在进程列表中右键点击被测应用进程,选择“Dump Hprof”。
2. 自动获取内存快照:在“设置”视图的“内存”选项卡中选择开启Dump Hprof功能。设定内存阈值后,启动内存监测。

当被监控的进程内存超过设定的阈值后,会自动保存当前进程的内存快照hprof文件。内存快照.hprof文件保存在用户根目录\APT\log\hprof 目录下,用Memory Analyzer(MAT)打开分析。

四、进程列表视图
1. 开启进程列表视图
本视图包括的选项有:
- 开始/暂停按钮:控制测试的开始和暂停。
- 刷新按钮:更新手机的状态以及手机上的进程列表。
- 打开log:打开APT生成的log,重新生成曲线图。
- 打开log存放的文件夹。

2. 被测进程列表
- 支持手动输入进程名添加到被测进程列表的方式,当测试某个进程的启动过程时会很有用,因为开始的时候该进程并不存在。
- 双击或者右键删除被测的进程。
- 被测进程左侧的复选框,用于控制测试过程中要显示的进程曲线。
3. 运行进程列表
- 展示手机上运行的进程列表,双击或者添加到被测进程列表。
- 右键的上下文菜单:支持手动转储(DUMP)内存快照、GC、获取PMAP文件等功能。

4. 进程内存构成分析
获取快照:在进程列表中右键点击被测应用进程,选择“PMAP”,内存快照保存在: 用户根目录\APT\log\目录下的“包名_pid_pmap_时间戳.txt”。
查看快照:点击Eclipse工具栏Windows-》ShowView-》other,选择APT视图PMAP, 在PMAP视图中点击打开快照文件。


可以同时选择2次内存快照打开,会计算增量内存的占比,如下图。可以发现两次快照间被测应用释放了21M的匿名内存映射。

五、注意事项
下面是使用APT工具过程中需要主要的几点内容,为您提示下:
- APT中的DumpHprof和GC功能由于用到了DDMLIB的功能,所以有两个限制;
- 确保手机系统或者被测应用是可调试的;
- DDMLIB不允许同时有多个工具获取被调试手机上的进程信息,所以如果想用APT的这两个功能,最好把Eclipse的透视图切换到APT,然后重启Eclipse;
- 获取PMAP文件需要root权限,并且需要默认root。如果进入adb shell默认不是root权限,可以优先执行adb root即可;
- 最好将adb路径加入到path中;
- Eclipse需要安装ADT插件。
APT源码地址: https://code.csdn.net/Tencent/apt,欢迎前往项目讨论组进行讨论。(文/王子殿下)
本文为CSDN原创文章,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)
【腾讯开源】Android性能测试工具APT使用指南的更多相关文章
- Android性能测试工具APT使用指南
腾讯的安卓平台高效的性能测试工具APT(Android Performance Testing Tools),适用于开发自测和定位性能瓶颈,帮助测试人员完成性能基准测试.竞品测试. APT提供了CPU ...
- Emmagee——开源Android性能测试工具
工具:Emmagee作者:孔庆云 网易(杭州)质量保证部 开源地址:https://github.com/NetEase/Emmagee Wiki:https://github.com/NetEase ...
- Emmagee—开源Android性能测试工具
下载:https://github.com/NetEase/Emmagee/releases/download/V2.5/Emmagee.apk 1.Emmagee——Android性能测试工具 Em ...
- Android性能测试工具APT
APT源码地址:https://code.csdn.net/Tencent/apt APT,Android Performance Testing Tools,适用于开发自测和定位性能瓶颈,帮助测试人 ...
- 腾讯优测优分享 | Android性能测试工具化实现
腾讯优测专业的移动云测试平台,自动化测试提供性能测试数据,云真机实时输出性能数据,让测试更简单! 1.Android性能测试介绍 提到Android性能测试,我们总免不了俗地要首先介绍下Android ...
- 2014 非常好用的开源 Android 测试工具
http://www.php100.com/html/it/mobile/2014/1015/7495.html 当前有很大的趋势是转向移动应用平台,Android 是最广泛使用的移动操作系统,201 ...
- android性能测试工具
Android性能测试工具Emmagee介绍 Emmagee介绍 Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具.该工具的优势在于如同windows系 ...
- Android性能测试工具(一)之Emmagee
Android性能测试工具(一) 之Emmagee Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具. 支持SDK:Android2.2以及以上版本 Emm ...
- 开源多线程性能测试工具-sysbench
导读 sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试.数据库目前支持MySQL/Oracle/PostgreSQL.本文主要演示Mysql测试 ...
随机推荐
- hdu4758 Walk Through Squares (AC自己主动机+DP)
Walk Through Squares Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others ...
- 【C语言】reverse_string(char * string)(递归)
递归reverse_string(char * string)性能. 逆转 原始字符串 更改 相反,打印出的. /* 编写一个函数reverse_string(char * string)(递归实现) ...
- Oracle解锁的相关操作(转)
当某个数据库用户在数据库中插入.更新.删除一个表的数据,或者增加一个表的主键时或者表的索引时,常常会出现ora-00054:resource busy and acquire with nowait ...
- 最近ubuntu 14.04 cpu高入住故障排除
最近linux始终使用cpu实现全值, 双核cpu这始终是一个核心100%,还有的正常核.top这一发现输入法框架fcitx加载,直接kill它,不能用于发现狗输入法,令: fcitx fcitx-q ...
- Android:ViewPager详细解释(异步网络负载图片,有图片缓存,)并与导航点
android 应用.准则欢迎页面. 和图像旋转木马特征, 或者没有很多其他的内容显示在一个页面.以被划分成多个页面,在这一刻viewpager这是非常容易使用. 首先看下效果: 以下是一个样例.带异 ...
- 【Linux】CentOS系统
版本号:CentOS release 5.7 1)查看系统版本号 cat /etc/readhat-release 2)安装软件 wget 资源链接 make make install 在线安装: ...
- ubuntu14.04通过将语音,耳机没有声音
真正使用linux每天都有新的发现啊,截至今天上午有一台电脑,听几首歌.后插上耳机中没有声音.我认为这是一个糟糕的耳机,把插在手机耳机,我发现了一个语音耳机,很奇怪,我喜欢计算机接口是不是有问题,是在 ...
- OCP读书笔记(27) - 题库(ExamG)
601.You need to perform a block media recovery on the tools01.dbf data file in the SALES database by ...
- crmplugin项目加入key文件
通常,办crm的plugin发展,然后dll文件导入系统,都需要加入项目key文件,那么怎么办? 在右上角单击指定项目--属性: 点击属性后,弹出属性编辑框: watermark/2/text/aHR ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) ...