链接:https://blog.csdn.net/feather_wch/article/details/79801163
1、JVM中的堆与栈
- 一个Android程序在运行时会启动一个Dalvik虚拟机(暂不讨论ART模式)
- 虚拟机的运行时内存一般由堆和栈两大部分构成。
- 栈是存储方法调用的一片内存数据区。
- 堆内存占据了虚拟机的大部分内存空间,程序执行时产生的对象就分配在堆内存上。
- 如果是堆内存没有可用的空间存储生成的对象,JVM会抛出java.lang.OutOfMemoryError。
2、 Android中如何申请更大的Heap
一个应用如果使用了largeHeap,会请求系统为Dalvik虚拟机分配更大的内存空间。
<application android:icon="@drawable/icon"
xxx
android:largeHeap="true"
>