Android每一个应用的堆内存大小有限
1、 通常的情况为16M-48M
2、 通过ActivityManager的getMemoryClass()来查询可用堆内存限制
3、3.0(HoneyComb)以上的版本可以通过largeHeap=“true”来申请更多的堆内存
Nexus S(4.2.1):normal 192, largeHeap 512
4、如果试图申请的内存大于当前余下的堆内存就会引发OutOfMemoryError()
5、应用程序由于各方面的限制,需要注意减少内存占用,避免出现内存泄漏。
获取应用能使用的最大堆内存
int memClass = ((ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE)).getMemoryClass();
更详细:http://www.eoeandroid.com/thread-334686-1-1.html