- 单个应用程序最大内存限制,超过这个值会产生OOM(内存溢出)
命令:adb shell ->dalvik.vm.heapgrowthlimit
- 应用启动后分配的初始内存
命令:adb shell ->dalvik.vm.heapstartsize
- 单个java虚拟机最大的内存限制,超过这个值会产生OOM(内存溢出)
命令:adb shell ->getprop|grep dalvik.vm.heapsize
- Android内存使用
Android程序内存一般限制在16M,当然也有24M的,而android程序内存被分为2部分:
nativ和dalvik,dalvik就是Java堆,我们创建的对象是在这里分配的,而bitmap是直接在native上分配的,对于内存限制是native+dalvik不能
超过最大限制。
用以下命令可以查看程序的内存使用情况:
adb shell dumpsys meminfo $package_name or $pid //使用程序的包名或者进程id
其中size是需要的内存,而alloc是分配了的内存,对应的2列分别是native和dalvik,当总数也就是TOTAL这一列超过单个程序内存最大限制时,OOM(内存溢出)就很有可能会出现了