Android测试之内存

1. 空闲状态:切换至后台或者启动后不做任何操作,消耗内存最少。 

2. 中强度状态:时间偏长的操作应  用。

3. 高强度状态:高强度使用应用,可以跑monkey来测试(通常用来测试内存泄漏)。 

  内存泄漏:指应用里的内存一直没有释放,内存一直增加 ,系统内存一直减少 

  测试方法:

1. 使用adb命令: adb shell dumpsys meminfo packageName 

获取应用包名和Actively: adb shell dumpsys window | findstr mCurrentFocus

      

测试关注点:

1. Native heap alloc:JIN的内存分配   

2. Dalvik heap alloc:Java层的内存分配   

3. PSS

      

 关注点:

1. 退出某个页面后,内存是否有回落。 如果没有及时回落,且程序自动GC或者手动GC,那便可确认有问题。

2. 进行某个操作后,内存是否增长过快。 如果增长过快,也有可能存在风险,需重复操作确认。测试方法:借助性能测试工具:GC、Emmagee(只支持安卓6.0及以下的版本)、iTest等工具均可以监控。

android检查内存泄露步骤:

1、运行Monkey进行压力测试:

adb shell monkey -p cn.microinvestment.weitou --pct-touch 100 --ingore-crashes --throttle 1000 -s 100 -v -v 50

2、监控内存值,如果出现过大等递增异常则保存HPROF文件(hprof文件是Java 虚拟机的Heap快照)用于分析查看应用内存的命令:

adb shell dumpsys meminfo cn.microinvestment.weitou(进程名)

如果发现内存过大,则保存HPROF文件:adb shell am dumpheap <进程名> <保存路径>

3、分析hprof文件

用工具MAT来查看,首先还要这个HPROF文件转换成MAT可读的文件

在Android SDK tool里面有个hprof-conv命令:

hprof-conv <原HPROF文件路径> <转换后的HPROF路径>

hprof-conv a.hprof b.hprof

4、用MAT工具打开转换后的HPROF文件

一般选择Leak Suspects Report(通过SQL语句来查询对象有没有被释放掉,如果有多个相同的对象,则会存在内存泄露的问题)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值