一、APT介绍:

 APT:Android Performance Testing Tools,适用于开发自测和定位性能瓶颈,帮助测试人员完成【性能基准测试、竞品测试】。

 APT提供了CPU利用率实时曲线图、多维度内存实时曲线图,方便竞品对比测试和定位内存泄露问题;支持进程内存构成分析,支持手工或超过阈值时自动转储(Dump)详细堆内存对象信息,支持多进程,支持生成和导出常用格式的的日志图表。

 APT相比同类工具,具有下面2大特性:

  ①、使用Java语言开发,基于Eclipse,跨平台,支持windows、Linux和MAC;

  ②、支持同时监控多个进程。

二、APT环境搭建:

 进入https://code.csdn.net/Tencent/apt,下载apt压缩包

 下载完成后解压缩.zip包,把里边的APT_Eclipse_Plugin_1.1.8.jar文件拷贝到Eclipse安装目录下的plugins文件夹下,然后重启Eclipse。选择Window → Open Perspective → Other,选择APT,即可启动APT。

三、APT页面设置介绍:

 1、设置介绍:

  首选页:控制当前的测试内容(建议每次选择一项进行测试,防止测试数据受影响);

  CPU:可设置采样间隔、CPU占有率的采集方法;提供top和dumpsys cpuinfo两种方式;jiffies统计开关,可以精确量化CPU时间片消耗,适用于待机功耗测试;

  内存:可设置采集间隔、自动转储(Dump)内存快照开关、自动转储(Dump)内存快照阈值;可设置内存类型曲线显示开关,此项在测试过程中可动态调整。

  

 2、APT进程列表:

  被测进程列表:正在测试/准备测试的进程(是否开始测试由进程列表右边几个控制按键控制);

  运行进程列表:测试设备已运行的所有进程,列表中双击或者右键添加要测试的进程(支持多选);

  开始/暂停按钮:控制测试的开始和暂停;

  刷新按钮:更新手机的状态以及手机上的进程列表;

  打开log:打开APT生成的log,重新生成曲线图;

  打开log存放的文件夹。

  

 

四、cpu和内存测试:

 1、cpu测试:首先设置cpu采样间隔和数据源参数(采样间隔根据实际需要设置,数据源可默认top),然后选择要测试的进程启动测试,对进程对应应用进行操作,将会得到下图:

 2、内存测试:首先设置采样间隔和“Dump Hprof”-选择"是"为自动获取内存,选择“否”为手动获取内存快照。

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

  

 在进程列表中右键点击被测应用进程,选择“PMAP”,内存快照保存在: 用户根目录\APT\log\目录下的“包名_pid_pmap_时间戳.txt”。

 查看快照:点击Eclipse工具栏Windows → ShowView → other,选择APT视图PMAP, 在PMAP视图中点击打开快照文件。

五、注意事项:

 1、APT中的DumpHprof和GC功能由于用到了DDMLIB的功能,所以有两个限制;

 2、确保手机系统或者被测应用是可调试的;

 3、DDMLIB不允许同时有多个工具获取被调试手机上的进程信息,所以如果想用APT的这两个功能,最好把Eclipse的透视图切换到APT,然后重启Eclipse;

 4、获取PMAP文件需要root权限,并且需要默认root。如果进入adb shell默认不是root权限,可以优先执行adb root即可;

 5、最好将adb路径加入到path中;

 6、Eclipse需要安装ADT插件。

Android客户端性能测试(一):使用APT测试Android应用性能的更多相关文章

  1. 移动端 - Android客户端性能测试常见指标

    rom版本的性能测试 一般关注功耗(不过 rom 版本的功耗测试跟应用的功耗测试会有所差异,当然只是用例设计方面的差异,工具仍然采用安捷伦电源仪进行) 应用的性能测试 包括很多测试项,如启动时间.内存 ...

  2. Android客户端与PC服务端、android服务端通过WiFi通信

    前期准备:我的是Linux Mint操作系统(总之折腾的过程中怀疑过是不是系统的问题),首先是要创建wifi热点给android手机使用,这个时候笔记本作为通信的服务器端,android手机作为客户端 ...

  3. Android客户端稳定性测试——Monkey

    修改时间 修改内容 修改人 2016.6.20 创建 刘永志 2016.6.29 完成 刘永志 Monkey简介: Android SDK自带的命令行测试工具,向设备发送伪随机事件流,对应用程序进行进 ...

  4. 使用calabash测试开源中国Android客户端

    Calabash-android是支持android的UI自动化测试框架,前面已经介绍过<中文Win7下成功安装calabash-android步骤>,这篇博文尝试测试一个真实应用:开源中 ...

  5. appium 自动化测试之知乎Android客户端

    appium是一个开源框架,相对来说还不算很稳定.转载请注明出处!!!! 前些日子,配置好了appium测试环境,至于环境怎么搭建,参考:http://www.cnblogs.com/tobecraz ...

  6. 【原创】轻量级即时通讯技术MobileIMSDK:Android客户端开发指南

    申明:MobileIMSDK 目前为个人维护的原创开源工程,现陆续整理了一些资料,希望对需要的人有用.如需与作者交流,见文章底签名处,互相学习. MobileIMSDK开源工程的代码托管地址请进入 G ...

  7. 基于SuperSocket的IIS主动推送消息给android客户端

    在上一篇文章<基于mina框架的GPS设备与服务器之间的交互>中,提到之前一直使用superwebsocket框架做为IIS和APP通信的媒介,经常出现无法通信的问题,必须一天几次的手动回 ...

  8. 微信Android客户端架构演进之路

    这是一个典型的Android应用在从小到大的成长过程中的“踩坑”与“填坑”的历史.互联网的变化速度如此之快,1年的时间里,可以发生翻天覆地的变化.今天在这里,重新和大家回顾微信客户端架构的演进过程,以 ...

  9. Android 客户端设计之环境考虑

    我做过两三个android客户端应用的整体设计和部分的编码,这里仅仅谈一下设计方面的故事(此乃原创2015:11:02). 做客户端设计,首先要考虑应用所在的环境,包括三方面:1 要设计的apk是在一 ...

随机推荐

  1. asp.net DataSet数据导出到Excel中

    方法: [STAThread]///这是必须的    public override void VerifyRenderingInServerForm(System.Web.UI.Control co ...

  2. MVC4方法行为过滤器例子(用户登录)

    在Model文件夹下添加一个类MyActionFilterAttribute继承于ActionFilterAttribute: using System; using System.Collectio ...

  3. Swing开发之JComboBox篇

    http://blog.csdn.net/sjf0115/article/details/6991579

  4. MVC - 11(下)jquery.tmpl.js +ajax分页

    继续 mvc-11(上).dto:http://www.cnblogs.com/tangge/p/3840060.html jquery.tmpl.js 下载:http://pan.baidu.com ...

  5. sublime text 全局搜索

    Ctrl+Shift+F Mac下是commadn+Shift+F 在下面Find中填入需要搜索的关键字 点击find

  6. Oracle优化-表设计

    前言 绝大多数的Oracle数据库性能问题都是由于数据库设计不合理造成的,只有少部分问题根植于Database Buffer.Share Pool.Redo Log Buffer等内存模块配置不合理, ...

  7. Oracle数据库 控制文件

    一.概念控制文件的主要任务是管理数据库的状态以及描述数据库的物理结构 二.所含有的信息1.数据库名2.数据库标识符(DBID)3.数据库创建时间戳4.数据库字符集5.数据文件信息6.临时文件信息7.在 ...

  8. SQL常用查询语句及函数

    1.日期匹配_获取时间差 select datediff(dd,getdate(),'12/25/2006')  --计算从今天到12/25/2006还有多少个月 2.不能通过IP连接数据库 在数据库 ...

  9. 11g添加asm

    1.创建组 2.创建grid用户 3.用grid安装Gride Infrastructure软件 4.执行root.sh[root@ora11g softdb]# /u01/app/11.2.0/gr ...

  10. ARM指令学习,王明学learn

    ARM指令学习 一.算数和逻辑指令 1— MOV 数据传送指令    2.— MVN 数据取反传送指令    3.— CMP 比较指令    4.— CMN 反值比较指令    5.— TST 位测试 ...