记录Android性能测试--学习一

本文详细介绍了Android应用的性能测试,主要包括启动时间、内存消耗和CPU使用情况。启动时间测试分为首次启动、非首次启动和界面切换,可通过软件和硬件方法进行测量。内存测试关注空闲、中等规格和满规格状态下的消耗,并检查内存峰值、泄露和常驻内存。CPU测试则分析不同操作下的应用CPU占用。此外,文章还提到了获取这些数据的多种Android内置和第三方工具。
摘要由CSDN通过智能技术生成

Android 性能测试,跟 pc 性能测试一样分为客户端及服务器,但在客户端上的性能测试分为 2 类:

  • 一类为 rom 版本的性能测试:但针对 rom 版本的性能测试,一般关注功耗。
  • 一类为应用的性能测试:对于应用性能测试,包括很多测试项,如启动时间、内存、CPU、GPU、功耗、流量等

一、 应用的性能测试

(1) 启动时间 --关于应用的启动时间的测试,分为三类:

1. 首次启动 --应用首次启动所花费的时间
2. 非首次启动 --应用非首次启动所花费的时间
3. 应用界面切换 -- 应用界面内切换所花费的时间

启动测试方法分为两类:软件测试和硬件测试

软件测试方法,使用android 提供的 DisplayManager 来获取 activity 的启动时间DisplayManager 的打印时间方法后,还有通过关注 am 的启动时间及 DisplayManager 打印的结束时间,通过两者时间之间想减也能得到应用的启动时间,还有可以通过 PowerManager 来计算打印时间,在应用启动的时候,我们可以关注 ActivityManager-Launch 的变化来计算应用的启动时间,还有可以通过截图统计启动时间,对于自研应用,最效率的莫过于直接在程序中插入打印时间的节点了。

硬件测试方法,可以使用高速相机或者手机,采用录像的方法把应用启动过程给录制下来,然后通过人工数帧或者程序数帧的方式计算启动时间

(2)内存消耗:这个测试节点的设计目标是为了让应用不占用过多的系统资源,且及时释放内存,保障整个系统的稳定性,当然关于内存测试,在这里我们需要引入几个概念,

  • 空闲状态
  • 中等规格
  • 满规格,

空闲状态:指打开应用后,点击 home 键让应用后台运行,此时应用处于的状态叫做空闲。 中等规格和满规格指的是对应用的操作时间的间隔长短不一,中等规格时间较长,满规格时间较短。

接下来我们说说在内存测试中,存在很多测试子项,如下清单所示

1.空闲状态下的应用内存消耗情况
2.中等规格状态下的应用内存消耗情况
3.满规格状态下的应用内存消耗情况
4.应用内存峰值情况
5.应用内存泄露情况
6.应用是否常驻内存
7.压力测试后的内存使用情况

内存获取方法,分为下面几类

1.使用 android 本身提供的 ActivityManager.MemoryInfo() 方法获得(此方法请百度或 google)此类第三方工具有如网易的 Emmagee、安测试、腾讯的 GT 等
2.使用 android 提供的 adb shell dumpsys meminfo |grep packagename >/address/mem.txt 来获取
3.使用 android 提供的 procrank

这里我们详解一下 procrank 方法(批处理)

参考链接:Android 性能测试初探 (三) · TesterHome

(3) CPU、GPU

CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。

CPU 基于低延时的设计:

GPU是基于大的吞吐量设计。

CPU 跟内存一样,存在一些测试子项,如下清单所示

1.空闲状态下的应用 CPU 消耗情况
2.中等规格状态下的应用 CPU 消耗情况
3.满规格状态下的应用 CPU 消耗情况
4.应用 CPU 峰值情况

CPU 的测试方法分为几类
1.使用 android 提供的 adb shell dumpsys cpuinfo |grep packagename >/address/cpu.txt 来获取
2.使用 top 命令 adb shell top |grep packagename>/address/cpu.txt 来获取.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值