android代码结构分析工具,【Android性能工具】腾讯开源工具APT(示例代码)

做App测试时监测使用期间的cpu,内存,流量,电量等指标时,发现的企鹅很好用的工具。

备份至此,方便后期查阅

原文URL http://www.csdn.net/article/2014-04-23/2819366-tencent-APT-open-source-tool-guide

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

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

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

支持同时监控多个进程。

那如何高效利用APT工具呢?现在,我们为大家准备了从安装部署到开启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)内存快照阈值;可设置内存类型曲线显示开关,此项在测试过程中可动态调整。

e04a6a5b52402e498d22d7fe2cd24412.png

2. 启动CPU与内存检测

在“设置”视图的“首选项”选项卡中选择监测项:CPU或内存;

点击“进程列表”视图右上角的刷新按钮,获取手机上的正在运行进程列表;

在进程列表中双击或者右键添加要测试的进程(支持多选);

点击“开始”按钮,即可启动监测。

3. 生成统计表格

在CPU、内存视图右边的统计表格中会实时统计CPU、内存和jiffies等三个统计项的最大值、最小值、平均值和增量等统计数据。如下图所示:

20ef40eb4a32d524e8889528a1d4922c.png

三、获取内存快照

获取内存快照的方式有2种,一种是手动方式,一种是自动获取。

1. 手动获取内存快照:在进程列表中右键点击被测应用进程,选择“Dump Hprof”。

2. 自动获取内存快照:在“设置”视图的“内存”选项卡中选择开启Dump Hprof功能。设定内存阈值后,启动内存监测。

eec40533531d74f56c5dc8843901c1a4.png

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

039780f5bb52195fabb0de0430fb8424.png

四、进程列表视图

1. 开启进程列表视图

本视图包括的选项有:

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

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

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

打开log存放的文件夹。

86c96e38ca7f9d9d63519b8bbe550ccd.png

2. 被测进程列表

支持手动输入进程名添加到被测进程列表的方式,当测试某个进程的启动过程时会很有用,因为开始的时候该进程并不存在。

双击或者右键删除被测的进程。

被测进程左侧的复选框,用于控制测试过程中要显示的进程曲线。

3. 运行进程列表

展示手机上运行的进程列表,双击或者添加到被测进程列表。

右键的上下文菜单:支持手动转储(DUMP)内存快照、GC、获取PMAP文件等功能。

241829a58b5a8ce29ed6bf0a5ccca539.png

4. 进程内存构成分析

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

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

79641f77614c66740ab38a8f2d165ee3.png

8284c1d77f29a2500125540110bbb629.png

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

6ccd088647c768498463db83ea1cadca.png

五、注意事项

下面是使用APT工具过程中需要主要的几点内容,为您提示下:

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

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

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

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

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

Eclipse需要安装ADT插件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值