Android 性能测试初探 (三)

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 本文承接《Android性能测试初探(二)》,深入探讨CPU与内存测试。介绍了移动端内存测试的重要性及其测试目标,并详细列举了不同状态下应用内存消耗情况的测试项目。此外,还提供了多种内存测试方法,包括使用`procrank`等工具的具体操作步骤。最后,文章也简要提及了CPU测试的相关内容,帮助读者更好地理解Android性能测试的关键要素。

来源:https://testerhome.com

书接上文 Android 性能测试初探(二) 本文接着往下聊,今天主聊 CPU 及 内存。

看到这两个名词,做过PC性能测试的就比较熟悉了,同样的性能测试关注点 :)

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

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

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

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

1.空闲状态下的应用内存消耗情况

2.中等规格状态下的应用内存消耗情况

3.满规格状态下的应用内存消耗情况

4.应用内存峰值情况

5.应用内存泄露情况

6.应用是否常驻内存

7.压力测试后的内存使用情况

说了一些关于内存测试方面的设定,接下来我们聊聊测试方法DIY,现在关于android内存测试的方法基本分为几类,

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

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

首先去google获取procrank、procmem、libpagemap.so 三个文件 .

然后push文件,执行 adb push procrank /system/xbin adb push procmem /system/xbinadb push libpagemap.so /system/lib

赋权 adb shell chmod 6755 /system/xbin/procrank adb shell chmod 6755 /system/xbin/procmemadb shell chmod 6755 /system/lib/libpagemap.so ,

在开启工具记录 adb shell procrank |grep packagename >/address/procrank.txt

剩下的就是整理测试数据了

关于内存泄露方面的测试,可以通过几个方面来测试

1.通过monkey压力测试记录内存使用情况,分析数据曲线图及日志情况

2.通过eclipse上的mat+heap来分析存在内存泄露方面的节点

说了这么多内存的,我们再来说说CPU方面的,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 来获取 恩,说了大半章了,cpu及内存的测试相信各位应该有所了解了,下回继续聊其他测试项

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
6月前
|
Linux Android开发
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
117 0
|
2月前
|
Java 测试技术 Android开发
Android性能测试——发现和定位内存泄露和卡顿
本文详细介绍了Android应用性能测试中的内存泄漏与卡顿问题及其解决方案。首先,文章描述了使用MAT工具定位内存泄漏的具体步骤,并通过实例展示了如何分析Histogram图表和Dominator Tree。接着,针对卡顿问题,文章探讨了其产生原因,并提供了多种测试方法,包括GPU呈现模式分析、FPS Meter软件测试、绘制圆点计数法及Android Studio自带的GPU监控功能。最后,文章给出了排查卡顿问题的四个方向,帮助开发者优化应用性能。
169 4
Android性能测试——发现和定位内存泄露和卡顿
|
2月前
|
测试技术 Shell Android开发
Android 性能测试初探 (六)
本节聊聊性能测试的最后一项- 流量,当然我所指的性能测试是针对大部分应用而言的,可能还有部分应用会关注网速、弱网之类的测试,但本系列文章都不去一一探讨了。
54 6
|
2月前
|
JavaScript 测试技术 Android开发
Android 性能测试初探 (四)
本文介绍了GPU在移动端性能测试中的重要性,并详细解释了过度绘制、帧率和帧方差的概念。针对GPU测试,文章列举了三项主要测试内容:界面过度绘制、屏幕滑动帧速率和平滑度。其中,过度绘制测试需遵循特定标准,而帧速率和平滑度测试则可通过软件或硬件方法实现。在软件测试中,使用Systrace插件和高速相机是两种常用手段。对于不同机型,帧率及帧方差的测试标准也需相应调整。
52 5
|
2月前
|
测试技术 Shell 定位技术
Android 性能测试初探 (五)
聊聊大家不常关注的测试项- 功耗
50 3
|
2月前
|
算法 测试技术 Android开发
Android 性能测试初探 (二)
上回大体介绍了下在 android 端的性能测试项,现在我们就细节测试项做一些阐述(包括如何自己 DIY 测试)
46 4
|
2月前
|
测试技术 API Android开发
Android 性能测试初探 (一)
Android 性能测试,跟pc性能测试一样分为客户端及服务器,但在客户端上的性能测试分为 2 类: 一类为 rom 版本的性能测试;一类为应用的性能测试。
51 3
|
2月前
|
Android开发
Android学习 —— 测试init.rc中的条件触发的处理顺序
Android学习 —— 测试init.rc中的条件触发的处理顺序
|
6月前
|
安全 物联网 测试技术
构建未来:Android与IoT设备的无缝交互深入探索软件自动化测试的未来趋势
【5月更文挑战第30天】在物联网(IoT)技术快速发展的当下,Android系统因其开放性和广泛的用户基础成为了连接智能设备的首选平台。本文将探讨如何通过现代Android开发技术实现智能手机与IoT设备的高效、稳定连接,并分析其中的挑战和解决方案。我们将深入挖掘Android系统的底层通信机制,提出创新的交互模式,并通过实例演示如何在Android应用中集成IoT控制功能,旨在为开发者提供一套可行的指导方案,促进IoT生态系统的进一步发展。
|
6月前
|
Android开发 数据安全/隐私保护 iOS开发
ios和安卓测试包发布网站http://fir.im的注册与常用功能
ios和安卓测试包发布网站http://fir.im的注册与常用功能
275 0
ios和安卓测试包发布网站http://fir.im的注册与常用功能