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
本文探讨了Android应用中堆内存的限制、查询方法、内存申请策略以及避免内存泄漏的措施,包括如何通过ActivityManager获取应用能使用的最大堆内存,并在不同设备上观察到的堆内存分配情况。
11万+

被折叠的 条评论
为什么被折叠?



