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

时间:2021-12-25 00:53:39

一、APT介绍:

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

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

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

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

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

二、APT环境搭建:

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

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

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

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

三、APT页面设置介绍:

 1、设置介绍:

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

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

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

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

 2、APT进程列表:

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

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

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

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

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

  打开log存放的文件夹。

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

 

四、cpu和内存测试:

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

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

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

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

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

 在进程列表中右键点击被测应用进程,选择“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插件。