书接上文 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/xbin
adb push libpagemap.so /system/lib
赋权 adb shell chmod 6755 /system/xbin/procrank
adb shell chmod 6755 /system/xbin/procmem
adb 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 及内存的测试相信各位应该有所了解了,下回继续聊其他测试项