NoActive 中文文档 下载 App

Android 墓碑机制解析 - 从系统 Doze 到应用冻结

什么是 Android 墓碑

Android 墓碑(Tombstone)机制,是指将后台应用进程置于暂停执行状态的一种优化手段。当应用不再处于前台时,系统可以通过冻结其进程来阻止 CPU 继续为该应用分配时间片,从而实现降温和省电的效果。

系统原生方案的局限

Android 系统原生提供了后台省电机制,但存在明显局限:

Doze 模式

Android 6.0 引入的 Doze 模式,在设备静止一段时间后进入深度睡眠,限制后台活动。但 Doze 对"设备正在移动"的检测比较宽松,很多场景下无法真正进入深度睡眠。

App Standby

Android 6.0 同时引入的应用待机模式,将不活跃的应用标记为待机状态,限制其网络访问和后台任务。但这种限制是"软限制",应用仍可通过多种途径唤醒。

系统自带冻结

部分定制 ROM 提供了后台应用冻结功能,但这些功能通常基于白名单策略,且无法精细化控制每个应用的行为。

NoActive 的系统框架方案

NoActive 与上述方案的核心差异在于运行层级:

对比项系统 Doze黑阈NoActive
运行层级系统服务普通应用Xposed Hook 系统框架
冻结机制状态标记 + 调度限制Shell 命令强制停止Cgroup Freezer / Kill 信号
广播拦截无部分Hook 广播分发,屏蔽被冻结应用
ANR 处理原生 ANR 检测无Hook ANR 事件,避免误杀
内核依赖无无需内核模块配合

事件驱动的冻结流程

NoActive 采用事件驱动模型:

  1. 应用切换至后台 → 3 秒后触发冻结
  2. 应用切换至前台 → 立即解冻
  3. 接收广播 → 屏蔽被冻结应用的广播,避免广播 ANR
  4. 计算 oom_adj → 修改后台应用优先级

这套流程完全基于系统框架层 Hook,应用自身无需任何配合。

→ 继续了解 NoActive 与其他墓碑工具对比