1. app内存限制
Android app运行在vm上,而Android系统对vm heapsize做了一个硬性逻辑限制,就算物理内存富余,如果应用超出APP逻辑内存,APP就会出现内存溢出crash。
由程序控制操作的内存空间在heap上,分java heapsize和native heapsize,Java申请的内存在vm heap上,所以如果java申请的内存大小超过VM的逻辑内存限制,就会出现内存溢出的异常。native层内存申请不受其限制,native层受native process对内存大小的限制。
2. 查看Android设备上的对APP的内存限制
主要查看系统配置文件 build.prop,我们可以通过adb shell在 命令行窗口查看
1. 查看设备app内存限制
adb shell getprop | findstr dalvik.vm.heapgrowthlimit
2. Android app可以在AndroidManifast.xml里的<application android:largeHeap="true"/>标签里加入largeHeap开启内存加强,开启内存加强后,可使用内存会变大,这也是一个固定值,可以查看
adb shell getprop | findstr dalvik.vm.heapsize
3. 可以查看更详细的
adb shell cat /system/build.prop | findstr dalvik.vm
---------------------
作者:与夏同炙
来源:CSDN
原文:https://blog.csdn.net/yuxiatongzhi/article/details/82023251
版权声明:本文为博主原创文章,转载请附上博文链接!