一、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插件。

转载于:https://www.cnblogs.com/dtest/p/4210807.html

Android客户端性能测试(一):使用APT测试Android应用性能相关推荐

  1. android客户端和服务端交互,谈谈android客户端和网站数据交互的实现

    android客户端一般不直接访问网站数据库,而是像浏览器一样发送get或者post请求,然后网站返回客户端能理解的数据格式,客户端解析这些数据,显示在界面上,常用的数据格式是xml和json. 可以 ...

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

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

  3. android客户端功能模块,智能巡检系统Android客户端多媒体模块的设计与实现

    摘要: Android系统是当今市场占有率最高的智能手机操作系统,其开源,免费,稳定的特点为Android应用程序的开发带来极大的便利.与此同时,随着3G时代的到来,日益提升的移动网络传输速率也使得通 ...

  4. 简单移动Android客户端,下厨房移动第一站–android客户端

    下厨房网站期望可以帮助找到适合你的菜谱,现在,这个句子可以加上"随时随地",用android操作系统手机的朋友可以成为我们的第一批小白鼠.除了和网页版本一样可以查找浏览几万道菜谱做 ...

  5. loadrunner mysql性能测试_运用Loadrunner测试Mysql数据库性能 TRON•极客

    1.前言 针对数据库的性能测试,loadrunner本身支持sql server和oracle数据库,这两种数据库可以用loadrunner直接录制进行测试.而我们项目中使用的是mysql数据库,针对 ...

  6. android客户端设计,Android客户端设计.ppt

    Android客户端设计 图16 .android.score包下各文件说明 .android.score包存放所有的功能界面,处理各种业务逻辑,是"豹考通"客户端的核心,该包下所 ...

  7. android 腾讯微博授权,5腾讯微博Android客户端开发获取请求用户授权Request Token.pdf...

    腾讯微博Android客户端开发 博客:/coolszy Android Android 腾讯微博AAnnddrrooiidd客户端开发 RequestToken RequestToken --获取请 ...

  8. 爱奇艺Android客户端软件开发实战(全套)

    Android客户端软件开发_10.下载模块的流程分析以及详细流程图等.avi 141.2M Android客户端软件开发_11.多线程断点续传分析和流程图.avi 91.3M Android客户端软 ...

  9. 基于TCP/IP协议的Java服务端与Android客户端的Socket通信及数据交互

    基于TCP/IP协议的Java服务端与Android客户端的Socket通信及数据交互 一.前言 1.Java服务端程序代码的项目名为TcpSocketServerOfJava,包名为com.exam ...

最新文章

  1. ubuntu压缩命令
  2. [Erlang-0011][OTP] External Term Format
  3. android服务器概念,Android_tv_metro
  4. nginx负载均衡配置的几种策略
  5. OpenCV-图像的基本处理-02
  6. troubleshoot之:使用JFR解决内存泄露
  7. android怎么换小米系统更新,miui8怎么更新 miui8更新升级方法汇总
  8. Java 反射(Class class相关)
  9. CCRD_TOC_2008年第4期
  10. [实战]MVC5+EF6+MySql企业网盘实战(24)——视频列表
  11. 证书到期了_您的PMP证书到期了吗?
  12. 你还精通MySQL,竟然连bin log、redo log都不知道!
  13. ORACLE10g中 ora-12638:身份证明检索失败(
  14. java 访问https 证书_Java+SSL证书访问Https站点
  15. 第三章:开始使用zookeeper的API
  16. 统一Retrofit失败的处理情况
  17. 重要且紧急:总以为这是最后一个短板,新的短板又出现了
  18. jquery form提交的2种方式
  19. 2019-2020年数学建模竞赛心得体会
  20. Epoll水平触发(Level Triggered)工作模式和边缘触发(Edge Triggered)工作模式区别

热门文章

  1. 关于单点登录中同一浏览器session信息共享的又一解决办法
  2. C语言指针详解----指针声明定义赋值
  3. 贝叶斯告诉你,投掷硬币概率可以是90%
  4. 计算机辅助工艺设计张胜文,计算机辅助工装设计.ppt
  5. 选择排序(C++版)
  6. string’ does not name a type 错误解析
  7. y7000 intel nvidia 双显卡安装Ubuntu16.04
  8. 剑指offer有python版吗_剑指Offer算法类题目[Python版]
  9. redis 源码阅读
  10. Java中input与output_java中的Io(input与output)操作总结(四)