一. App内存组成以及限制
Android给每个app分配一个VM,让app运行在dalvik上,这样即使app崩溃也不会影响到系统。系统给VM分配了一定的内存大小,app可以申请使用的内存大小不能超过此硬件逻辑限制,就算物理内存富余,如果应用超过VM最大内存,就会出现内存溢出crash。
由程序控制操作的内存空间在heap上,分java heapsize 和native heapsize。
- java申请的内存在vm heap上,所以如果java申请的内存大小超过vm的逻辑内存限制,就会出现内存溢出的异常。
-
native层内存申请不受其限制,native层受native process对内存大小的限制**。
image.png
android app可以在AndroidManifast.xml里面
<application android:largeHeap="true">开启内存增强。
十六. 推荐中小项目可用框架
https://github.com/idisfkj/android-startup/blob/master/README-ch.md
十六. 推荐中小项目可用框架
https://github.com/idisfkj/android-startup/blob/master/README-ch.md
网友评论