android app内存使用限制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuxiatongzhi/article/details/82023251

1. app内存限制

  Android app运行在vm上,而Android系统对vm heapsize做了一个硬性逻辑限制,就算物理内存富余,如果应用超出APP逻辑内存,APP就会出现内存溢出crash。
  由程序控制操作的内存空间在heap上,分java heapsizenative heapsize,Java申请的内存在vm heap上,所以如果java申请的内存大小超过VM的逻辑内存限制,就会出现内存溢出的异常。native层内存申请不受其限制,native层受物理内存大小限制。
heapsize

2. 查看Android设备上的对APP的内存限制

主要查看系统配置文件 build.prop,我们可以通过adb shell在 命令行窗口查看
1. 查看设备app内存限制
adb shell getprop | findstr dalvik.vm.heapgrowthlimit
heapgrowthlimit
2. Android app可以在AndroidManifast.xml里的<application android:largeHeap="true"/>标签里加入largeHeap开启内存加强,开启内存加强后,可使用内存会变大,这也是一个固定值,可以查看
adb shell getprop | findstr dalvik.vm.heapsize
heapsize
3. 可以查看更详细的
adb shell cat /system/build.prop | findstr dalvik.vm
build.prop

猜你喜欢

转载自blog.csdn.net/yuxiatongzhi/article/details/82023251