OutOfMemory虽然堆大小小于6MB

时间:2012-07-16 12:28:58

标签: android heap

在我的Android开发者控制台中,我看到了一些

的崩溃
Caused by: java.lang.OutOfMemoryError: (Heap Size=5795KB, Allocated=3859KB)

特别是小堆大小(小于6MB)让我感到惊讶。

如何解释此堆大小?这是OOM调用之前的堆大小吗?我可以假设最大堆至少为16MB吗?如果是这样,这是否意味着我试图分配至少10MB(16MB - 6MB)的块?

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法检查内存状态:

ActivityManager actMgr = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
ActivityManager.MemoryInfo minfo = new ActivityManager.MemoryInfo();
actMgr.getMemoryInfo(minfo);
if(minfo.lowMemory) { //do something
}