一、android内存测试关注点
(1)有没有内存泄露
(2)防止OOM(单个应用可用最大内存超出会报OOM)
二、测试方法
(1)内存泄露的测试:参考https://blog.youkuaiyun.com/anxpp/article/details/51325838
测试工具:MAT、Android studio profiler
MAT工具:(对比法)
https://www.eclipse.org/mat/downloads.php
使用android sdk自带的hprof-conv工具转换标准文件:hprof-conv D:\tools\com.internalkye.im.hprof D:\tools\a.hprof
Histogram 查询
它按类名将所有的实例对象列出来,可以点击表头进行排序,在表的第一行可以输入正则表达式来匹配结果 ,例如:
在第一行输入.*com.*
为查找内存泄漏,通常需要两个 Dump结果作对比
(2)防止OOM的测试:
关注指标dalvik.vm.heapgrowthlimit
通过DDMS调试应用进程的当前分配的内存heap-allocated值,应该小于系统dalvik.vm.heapgrowthlimit的值的XX百分比(50%)
手机系统此值的查看方法(注意:每个手机此值可能不一样):
(1)adb shell getprop dalvik.vm.heapgrowthlimit
方法(2)需设备root
adb shell
cd /system
cat build.prop
查看heapgrowthlimit的值
3.其他:
获取当前activity的方法win:
adb shell dumpsys window|findstr mCurrent