第214篇 Low Memory Killer:进程查杀策略

📅 发布时间:2026/10/18 17:30:12
第214篇 Low Memory Killer:进程查杀策略
先把结论放在前面:LMK(Low Memory Killer Daemon)的决策依据只有两个——进程的oom_adj(等价于 Android 层的adj档位)与系统当前的可用内存水位。它按"回收代价最低"的顺序杀进程:先杀CACHED,再杀SERVICE,尽量不碰前台。面试里这题的价值在于它能区分"读过文档"和"被它坑过"。答得浅的是"内存不足系统会杀后台进程";答得深的是能讲清 adj 分级的具体数值、LMK 的水位触发线、为什么onDestroy靠不住、以及前台服务与省电白名单的真实作用边界。两个输入:adj 与水位维度取值含义adj(oom_score_adj)前台约 0~200数字越大越容易被杀可见/可感知 约 200~400用户刚离开,仍可能有残留界面服务态约 400~600后台服务,回收代价中等