OOM
什么是OOM?
java.lang.OutOfMemoryError
当程序需要申请一段“大”内存时,但是虚拟机没有办法及时的给到,这就会抛出 OutOfMemoryError 也就是OOM
为什么会有OOM?
因为android系统的app的每个进程或者每个虚拟机有个最大内存限制,如果申请的内存资源超过这个限制,系统就会抛出OOM错误。跟整个设备的剩余内存没太大关系。比如比较早的android系统的一个虚拟机最多16M内存,当一个app启动后,虚拟机不停的申请内存资源来装载图片,当超过内存上限时就出现OOM。
APP的内存限制
APP内存由 dalvik内存 和 native内存 两部分组成,dalvik也就是java堆,创建的对象就是在这里分配的,而native是通过c/c++方式申请的内存,Bitmap就是以这种方式分配的。
App的内存限制是多少?
<