来源: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及内存的测试相信各位应该有所了解了,下回继续聊其他测试项