OOM 分析
iOS
1 推测内存使用量
CrashSight使用应用退出前的最后3秒内收集的内存使用数据,拟合一个线性模型来推测出退出时刻的内存使用量。假设“t”为崩溃发生的秒数,“t - 1”为崩溃发生前的一秒,以此类推。MemoryUsaget 表示设备在“t”时刻的内存使用量。
2 OOM 判定规则
iOS的OOM判定规则如下:
Android
OOM 判定规则
Android的OOM判定规则如下:
- Android11及以上,CrashSight根据Google官方文档ApplicationExitInfo中的系统退出原因进行判定,当退出原因是 REASON_LOW_MEMORY 时,判定发生了OOM。
- Android10及以下,CrashSight使用应用退出前60秒的内存使用数据,通过模型来判定是否发生OOM。