【腾讯开源】Android性能测试工具APT使用指南

  • 2014-04-23 09:58
  • CSDN CODE
  • 作者 CSDN CODE
  • 17
  • 7833
我们近日对腾讯的安卓平台高效的性能测试工具APT团队进行了专访。APT,适用于开发自测和定位性能瓶颈,帮助完成性能基准测试、竞品测试。我们为大家准备了从安装部署到开启APT各功能的介绍资料,方便大家参考。

我们近日对腾讯的安卓平台高效的性能测试工具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,欢迎前往项目讨论组进行讨论。(文/王子殿下)

【腾讯开源】专访APT团队:安卓平台高效性能测试工具

本文为CSDN原创文章,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)

【腾讯开源】Android性能测试工具APT使用指南的更多相关文章

  1. Android性能测试工具APT使用指南

    腾讯的安卓平台高效的性能测试工具APT(Android Performance Testing Tools),适用于开发自测和定位性能瓶颈,帮助测试人员完成性能基准测试.竞品测试. APT提供了CPU ...

  2. Emmagee——开源Android性能测试工具

    工具:Emmagee作者:孔庆云 网易(杭州)质量保证部 开源地址:https://github.com/NetEase/Emmagee Wiki:https://github.com/NetEase ...

  3. Emmagee—开源Android性能测试工具

    下载:https://github.com/NetEase/Emmagee/releases/download/V2.5/Emmagee.apk 1.Emmagee——Android性能测试工具 Em ...

  4. Android性能测试工具APT

    APT源码地址:https://code.csdn.net/Tencent/apt APT,Android Performance Testing Tools,适用于开发自测和定位性能瓶颈,帮助测试人 ...

  5. 腾讯优测优分享 | Android性能测试工具化实现

    腾讯优测专业的移动云测试平台,自动化测试提供性能测试数据,云真机实时输出性能数据,让测试更简单! 1.Android性能测试介绍 提到Android性能测试,我们总免不了俗地要首先介绍下Android ...

  6. 2014 非常好用的开源 Android 测试工具

    http://www.php100.com/html/it/mobile/2014/1015/7495.html 当前有很大的趋势是转向移动应用平台,Android 是最广泛使用的移动操作系统,201 ...

  7. android性能测试工具

    Android性能测试工具Emmagee介绍   Emmagee介绍 Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具.该工具的优势在于如同windows系 ...

  8. Android性能测试工具(一)之Emmagee

    Android性能测试工具(一) 之Emmagee Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具. 支持SDK:Android2.2以及以上版本 Emm ...

  9. 开源多线程性能测试工具-sysbench

    导读 sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试.数据库目前支持MySQL/Oracle/PostgreSQL.本文主要演示Mysql测试 ...

随机推荐

  1. Redis安装与基本配置(转)

    一.下载与安装 wget http://download.redis.io/releases/redis-3.0.0.tar.gz tar -zxvf redis-3.0.0.tar.gz -c /u ...

  2. WAP页面点击与hover延迟解决之道

    最近一直在WAP端页面的开发,一直都知道wap端点击相关问题存在延迟.之前做的网页大部分使用a链接进行,一直未入此坑. 最近做的一个WAP网站,各种点击,hover事件,如果使用PC端网页的做法,直接 ...

  3. 王立平-NGUI

    NGUI: UI插入 UI : 人机交互界面 UI大部分是2D 眼下就我们总结这些.也许会增加 版权声明:本文博主原创文章,博客,未经同意不得转载.

  4. (大数据工程师学习路径)第一步 Linux 基础入门----数据流重定向

    介绍 开始对重定向这个概念感到些许陌生,但通过前面的课程中多次见过>或>>操作了,并知道他们分别是将标准输出导向一个文件或追加到一个文件中.这其实就是重定向,将原本输出到标准输出的数 ...

  5. Systrace

    在构造函数,修复bug.完成代码后,你应该花一些时间来专注于应用性能.应用视频像素和运行的运行速度和流畅度影响用户体验.         Android应用执行在一个共享资源的环境中,你的应用的性能会 ...

  6. 【关节点+桥】关节点和桥模板 Tarjan

    #include <cstdio> #include <cstring> #include <algorithm> using namespace std; con ...

  7. Entity Framework 6.1

    Entity Framework 6.1-Code First Code First-代码优先,先创建好领域模型.根据... 2014-04-21 14:56 阅读(6858) 评论(0)   Ent ...

  8. jQuery.extend()方法和jQuery.fn.extend()方法

    jQuery.extend()方法和jQuery.fn.extend()方法源码分析 这两个方法用的是相同的代码,一个用于给jQuery对象或者普通对象合并属性和方法一个是针对jQuery对象的实例, ...

  9. 跳水Hibernate(一)实例解说

    此语一与高二接触SSH三框架,但是,当能力有限.我们没有继续下行.今天,我们正在采取的优势Java金痴迷,随即再次上调,另一项研究SSH.让我们先从SSH中间Hibernate说起. 或许你会问.为什 ...

  10. Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds解

    产生了一个解决这个问题的方法是在项目部署到tomcat比长45第二,当项目是比较大的,框架复杂的问题经常发生. 解决方法非常easy,找到以下这个路径中 workspace\.metadata\.pl ...