v1.2.0 · 悬浮窗保活
新增:悬浮窗保活(可选)
在屏幕上常驻一个状态小窗,把进程提升到 VISIBLE 优先级。
⚠️ 先说清楚它的能力边界
这个功能不是保活银弹,宣传时必须诚实:
| 它能做到的 | 它做不到的 |
|---|---|
提高 oom_adj 优先级,内存不足(LMK)回收时排在后台服务之后 |
❌ 挡不住系统「一键清理」「强力清理」——那类操作走白名单机制,不在白名单里窗口再多也照杀 |
| 部分 ROM 判定「速冻」时会参考是否有可见窗口,可降低被速冻概率 | ❌ 无法绕过电池优化、自启动等厂商管控 |
默认关闭,属于以观感换存活率的辅助手段(屏幕上会多一个图标)。
真正的保命线仍是:电池优化白名单 + 自启动 + 后台运行 + 回收后自动重启。
实现细节
- 新增
FloatingWindowKeeper:权限查询/申请、窗口创建销毁、状态文案 - 服务
onCreate显示、onDestroy移除,与生命周期绑定 - 设置页新增开关 + 权限引导 + 实时状态说明(区分未启用/缺权限/运行中)
- Activity
onResume自查补窗口(系统授权页返回无回调) - 进程内二次校验窗口是否真的 attached,避免残留引用
完整保活体系
| 机制 | 作用 |
|---|---|
| 前台服务 + 常驻通知 | 提升优先级 |
| WakeLock 循环续期 | 防 CPU 休眠不调度 |
| 开机自启 | 重启/OTA 后自动恢复 |
| 精确闹钟兜底 | 划掉任务后重启(绕过 Android 12+ 限制) |
| 看门狗 | 冻结恢复后补锁 |
| 悬浮窗(新增·可选) | 提升到 VISIBLE,降低内存回收概率 |
安装包为 debug 签名版,仅供测试。