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 中的的一个进程创建最多线程数。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容