OOM其他情况

详细地址

Android获取内存大小的地方:


ActivityManager.getMemory();

ActivityManager.MemoryInfo.totalMem;

ActivityManager.MemoryInfo.availMem;

Runtime.getRuntime().totalMemory();

Runtime.getRuntime.freeMemory();

Runtime.getRuntime().maxMemory();

ActivityManager.getMemoryClass();

在Android系统中除了因为内存不足而出现的OOM之外,还会因为内存在充足的情况下,因为其他原因而导致的OOM。


java.lang.OutOfMemoryError:Could not allocate JNI Env

或者


java.lang.OutOfMemoryError:pthread_create failed: Out of memory

创建线程时造成的OOM。

1:打开的文件描述符超过系统配置
proc/pid/fd下的文件数目超过 proc/pid/limits
2:一个进程打开线程数量有限
proc/pid/status 记录的线程数超过 proc/sys/kernel/threads-max 中的的一个进程创建最多线程数。

你可能感兴趣的:(OOM其他情况)