低内存游戏数据洞见

当设备内存不足时,Android 有时会终止(或终止)热门的高保真游戏。Android 会尝试使用所有可用内存来缓存应用和游戏,以确保它们快速加载(从而改善用户体验),但当内存变得有限时,系统会终止占用内存最多的应用和游戏,以释放内存以便设备正常运行。

以下信息、数据分析和最佳实践可帮助您更好地利用游戏内存

  • 使用 ApplicationExitInfo - 此 Java/Kotlin API 会返回 Android 系统终止上一个游戏运行的原因。使用 ApplicationExitInfo 检查是否存在内存不足的情况,作为先前进程运行终止的原因。检查游戏是否因内存不足而被终止,以便优化游戏以便在该设备上使用更少的内存。
  • 查看总物理 RAM - 为防止游戏在前台运行时被终止,并使其与设备的功能相匹配,请查看总物理 RAM,并据此调整游戏内存用量。如果目标是防止应用在切换到后台后不久被终止(以允许玩家进行多任务处理),请使用 trim 回调(具体为 TRIM_MEMORY_UI_HIDDEN)来减少游戏内存用量。
  • 请勿注册已废弃的 trim 回调 - Android 没有任何 API 可用于在原生内存压力事件遇到内存限制时检测这些事件(请参阅低内存终止守护程序守护程序说明)。修剪回调对防止内存不足终止没有帮助,因此 Android 废弃了 TRIM_MEMORY_UI_HIDDENTRIM_MEMORY_BACKGROUND 以外的所有回调

低内存终止守护程序

Android 低内存终止守护进程 (lmkd) 是一个进程,用于监控运行中的 Android 系统的内存状态,并通过终止最不必要的进程来应对内存压力较高这一问题,使系统以可接受的水平运行。

守护程序可以选择要终止的进程,而无需等待进程确认任何类型的回调。因此,应用和游戏在被终止之前不会收到通知,无法抓住最后一次机会释放内存。

详细了解低内存终止守护程序