基于 LSPosed / Xposed 的 Android 后台保活模块,防止你勾选的应用被系统杀进程(主要面向 LineageOS / AOSP 系)。

简体中文 | English

进程保活(ProcessKeepAlive)

项目主页:https://github.com/Guys222/ProcessKeepAlive

⚠️ 仅限个人设备、自己安装的应用使用。保活会让应用持续占用内存与电量,请勿用于追踪、监控他人设备。

安装

在 LSPosed Manager 中搜索「进程保活」安装,或从 Releases 下载 ProcessKeepAlive-v3.4.3-release.apk(已用项目专用 keystore 签名,可直接覆盖安装)。

启用后必须在 LSPosed 中把作用域勾上「系统框架(android)」——所有钩子都注入 system_server,不勾这一项模块不工作。

可选:同时勾选「本模块」仅用于 App 主页「模块激活状态」的实时检测,不勾不影响保活。

界面

底部四页导航:主页 / 应用 / 进程 / 设置,支持深色 / 浅色 / 跟随系统三种主题,附带 4×1 桌面小部件。

主页 应用 进程 设置
主页 应用 进程 设置
  • 主页 — 模块激活状态、Bento 概览(守护中 / 运行中 / 消息保活)、24 小时存活曲线(可下钻到单个应用)、守护事件时间线
  • 应用 — 搜索与勾选目标应用,每个应用显示真实存活时长与「被杀 / 拉起」次数
  • 进程 — system_server 视角的实时进程看板(pid / 状态 / oom_adj / RSS / 运行时长),支持杀进程与导出快照
  • 设置 — 各保活能力开关、优先级档位、常驻通知、配置备份与恢复

它能做什么

能力 说明 默认
降低 OOM Adj 把目标进程优先级压低到「可见级」,LMK 不优先杀它 开
阻止强制停止 拦截 forceStopPackage,设置里的「强行停止」失效(保进程) 开
阻止后台杀死 拦截 killBackgroundProcesses(保进程) 开
强力模式 拦截 ProcessRecord.kill / killPackageProcessesLocked(保进程·激进) 关
常驻实验 把目标进程标记为 persistent,被杀后自动重启(保进程·兜底) 关
消息保活 Doze/Standby 豁免 + 伪装前台防断连(保进程,顺带让界面不被回收) 关
页面保活 伪装进程为前台 TOP,系统不回收其 Activity(保页面) 关
开机自启动 重启后自动拉起已勾选的应用(system_server 内拉起,绕过后台限制) 关

「保进程」和「保页面」是两件事。 除「页面保活」外,所有开关只保证进程不被杀——应用回到前台时,界面(Activity)仍可能被 系统回收并重新加载,这是 Android 的正常行为。

「页面保活」通过把进程伪装成前台 TOP 来阻止系统回收 Activity,只对"由系统主动回收页面" 的 ROM 有效。若应用自己主动调用了 finish() 重建界面(如部分 App 检测到后台超时后主动 重启自己的页面),框架层面拦不住,此时页面依然会重载。页面能否完整恢复也取决于应用自身 有没有保存状态。

原理(钩子点)

全部注入 system_server(包名 android):

  • ActivityManagerService.forceStopPackage
  • ActivityManagerService.killBackgroundProcesses
  • ActivityManagerService.killPackageProcessesLocked
  • OomAdjuster.computeOomAdjLocked(Android 11+;老版本回退 updateOomAdjLocked)
  • ProcessRecord.kill
  • ActivityManagerService.newProcessRecordLocked(常驻实验)
  • ActivityManagerService.finishBooting(开机自启动)

OOM Adj 只「下调、不上调」:绝不会把正在前台运行的进程优先级调高,避免误伤。

重要提示

  • 保活不影响应用更新(v3.3.0 起):安装/更新前系统必然调用 forceStopPackage, 模块已对安装、替换、卸载以及 root/shell 调用自动放行,不会再出现「保活后装不上新版」。
  • LineageOS 本身不像 MIUI/ColorOS 那样激进杀后台,本模块主要解决「内存紧张时被 LMK 杀掉」 和「被强行停止」两类场景,效果不像在国产 ROM 上那么戏剧化。
  • 常驻实验有风险:可能让应用在卸载/更新时异常、崩溃后无限重启、增加耗电,默认关闭。
  • 常驻通知需要通知权限:Android 13+ 首次开启会申请 POST_NOTIFICATIONS。
  • Doze/待机:对开启「消息保活」的应用会自动豁免省电白名单与 App Standby 限流。
  • 修改任意设置后约 30 秒自动热刷新,无需重启;长时间不生效再重启系统。

验证

adb logcat -s ProcessKeepAlive                 # 查看模块日志
adb shell "ps -A | grep com.example.app"       # 确认进程存活
adb shell "cat /proc/<pid>/oom_score_adj"      # 值越低越不容易被杀

更新日志

v3.4.3(build 4017)

  • 修复桌面图标隐藏问题:「设置 → 桌面 → 隐藏桌面图标」开启后,桌面图标彻底消失、不可点击(不再残留旧图标、点击不再跳应用信息页);隐藏后拨号盘输入 *#*#888#*#* 直接唤起 App(无需重启);取消隐藏后图标立即恢复、可正常点击打开。

v3.4.3(build 4014)

  • ★ 开机自连:重启后无需手动打开本 App,主页也能即时显示已激活(system_server 装好钩子即直写激活标记)
  • 激活自愈重连:上报重试 1440 次后永久放弃 → 改为永不放弃长间隔重试,App 一上线即连
  • 能力自检新增「不适用」态:澎湃 / Android 14 无 batchSetOomAdj 不再误红,仍全绿
  • 死亡原因精细化:区分「系统低内存回收 / 应用崩溃 / 自行退出」
  • 映射槽位显示应用名(Termux 等不再显示成 com.termux)
  • 系统限制徽章改橙红底,命中即醒目
  • 映射槽位残留双层修复(钩子裁剪 + App 过滤)

v3.3.0(versionCode 3)

  • 全新界面:重做为完整应用,底部四页导航「主页 / 应用 / 进程 / 设置」。
  • 主页仪表盘:激活状态、Bento 概览、24 小时存活曲线(自绘折线,可点应用图标下钻)。
  • 进程页:按应用分组展示 pid / 状态 / oom_adj / RSS / 运行时长,支持杀进程与导出快照。
  • 守护事件时间线:倒序记录「被杀 / 拉起 / 开机拉起」三类事件。
  • 配置备份与恢复、常驻通知、4×1 桌面小部件、深色模式。
  • 页面保活:新增开关,把进程伪装为前台以阻止系统回收 Activity。
  • 修复:保活应用无法安装/更新的问题(对安装与 root/shell 调用放行)。
  • 版本号重置为「versionCode-versionName」小号方案(3-3.3.0);此前装过 4000/4001 测试版的用户需手动重装一次。

v3.2.2(versionCode 33)

  • 包名由 com.processkeepalive 改为 io.github.guys222.processkeepalive。已装旧版的用户 升级后会被视为新模块,需重新勾选作用域并重启。

打赏

如果这个模块帮到了你,欢迎给个 Star ⭐

微信收款码

许可

本项目仅供个人学习与自用设备使用。

Releases

10/12/2026, 12:39:41 AM

进程保活 v3.4.3(build 4016)更新说明

适配 Android 11 及以上(11/12/13/14/15/16/17 均支持,含 HyperOS / MIUI / 澎湃OS)· 依赖 LSPosed(作用域勾选「系统框架」)· 签名指纹 df2546e1

★ 本次重点:设置新增「桌面隐藏图标」开关(build 4016)

设置 → 桌面 → 隐藏桌面图标,打开后本 App 的桌面图标即消失(用于不想让图标被他人看到 / 保持桌面整洁的场景)。

为避免隐藏后打不开 App,做了两条重新唤起入口:

  • 拨号暗码:拨号盘输入 *#*#66778800#*#* 直接拉起 App;
  • 常驻通知:若开着「常驻通知」,点通知也能进设置把图标恢复。

实现方式:桌面入口改为一个 activity-alias,隐藏时由 PackageManager 禁用该别名即可让图标消失;同时注册拨号暗码广播作为兜底入口。个别定制 ROM 的拨号盘可能不广播暗码,那种情况先开「常驻通知」即可恢复。

上一版修复回顾(build 4015)

  • 激活误报修复:部分 ROM(如 ColorOS)SELinux 拦截了开机自连的直写,导致「开机先红、开过 App 才绿、用一阵又红」。4015 改为激活判定「心跳优先」——只要近 90 秒内有 system_server 进程上报即判已激活,根治上述现象。

下载与验证

  • 安装后到「设置 → 桌面」打开「隐藏桌面图标」验证图标消失;
  • 拨号盘输入 *#*#66778800#*#* 验证可重新拉起;
  • 再关掉开关验证图标恢复。

Assets

1

10/9/2026, 2:57:23 AM

让指定的 App 尽量不被系统杀掉、也不被强制停止。

本次更新修的问题:
· 守护页「被杀 N 次」虚高、进入应用偶发「恢复连接中…」:子进程(如 :push、:tool)被误判成目标被杀、还被常驻标记钉死造成反复重启,现已只认主进程
· 死亡捕获与常驻标记都收紧到主进程(进程名=包名),子进程正常生灭、不再计入「被杀」、不再被钉成常驻
· 子进程退出-重启抖动消除后,应用层长连接不再被反复打断,进入应用的偶发重连提示明显减少
· 消息保活能力不受影响:伪装前台、档位(adj)仍对所有进程生效

已知边界:消息保活负责「进程活着/拉起」,管不到 App 与服务器之间的 TCP 长连接本身,长连接仍受运营商 NAT 超时、信号切换影响。

需要 LSPosed;「开机抬高上限」还要装一个开机模块(App 里一键装,KernelSU / Magisk 都行)。
作用域记得勾选「系统界面 / 系统服务(android)」。
停用或卸载本模块后,上面的保活与防强停设置会立即失效,目标 App 恢复系统默认管理。

Assets

1

10/9/2026, 12:46:02 AM

让指定的 App 尽量不被系统杀掉、也不被强制停止。

本次更新修的问题:
· 点「检查更新」,明明装的就是最新版却提示有新版
· 进程页勾了「仅应用」,还能看到系统应用和一串硬件服务进程
· 设置页「能力自检」明明全绿,却显示 15/16 飘红
· 华为帐号这类多进程应用,它的子进程显示不出图标,只剩一长串包名
· 夜间模式下被守护的应用卡片是白绿底,字全糊在一起看不清
· 夜间模式开关会闪退:快速来回拨、或切完主题再点主页/设置页都会崩(主页空白、设置页能力自检崩溃都修了)
· 进程页顶部的「映射槽位」卡钉在列表上方,保活目标一多就吃掉一大块、挡住下面的进程列表;现在默认收成一行,有目标逼近看护线时自动展开并标橙提醒

都能做什么:
· 把目标 App 的优先级调高,系统更不舍得回收它(四档可选)
· 进程被杀后自动拉回(死后立刻补拉 + 定时兜底两轮)
· 开机后自动把目标拉起来一次
· 拦住系统在设置里对你的目标点「强制停止」
· 防「内存明明够用却闪退」:有的 App 用着用着把内存切得太碎会自己崩,模块在它快占满前先重启清一下;并在开机把系统上限抬高 4 倍
· 自带能力自检,一眼看清哪些功能生效

需要 LSPosed;「开机抬高上限」还要装一个开机模块(App 里一键装,KernelSU / Magisk 都行)。
作用域记得勾选「系统界面 / 系统服务(android)」。
停用或卸载本模块后,上面的保活与防强停设置会立即失效,目标 App 恢复系统默认管理。

Assets

1

10/9/2026, 12:21:08 AM

让指定的 App 尽量不被系统杀掉、也不被强制停止。

本次更新修的问题:
· 点「检查更新」,明明装的就是最新版却提示有新版
· 进程页勾了「仅应用」,还能看到系统应用和一串硬件服务进程
· 设置页「能力自检」明明全绿,却显示 15/16 飘红
· 华为帐号这类多进程应用,它的子进程显示不出图标,只剩一长串包名
· 夜间模式下被守护的应用卡片是白绿底,字全糊在一起看不清
· 夜间模式开关连点会闪退,切完主题再回主页是一片空白
· 进程页顶部的「映射槽位」卡钉在列表上方,保活目标一多就吃掉一大块、挡住下面的进程列表;现在默认收成一行,有目标逼近看护线时自动展开并标橙提醒

都能做什么:
· 把目标 App 的优先级调高,系统更不舍得回收它(四档可选)
· 进程被杀后自动拉回(死后立刻补拉 + 定时兜底两轮)
· 开机后自动把目标拉起来一次
· 拦住系统在设置里对你的目标点「强制停止」
· 防「内存明明够用却闪退」:有的 App 用着用着把内存切得太碎会自己崩,模块在它快占满前先重启清一下;并在开机把系统上限抬高 4 倍
· 自带能力自检,一眼看清哪些功能生效

需要 LSPosed;「开机抬高上限」还要装一个开机模块(App 里一键装,KernelSU / Magisk 都行)。
作用域记得勾选「系统界面 / 系统服务(android)」。
停用或卸载本模块后,上面的保活与防强停设置会立即失效,目标 App 恢复系统默认管理。

Assets

1

10/8/2026, 12:26:05 PM

本次更新分两块:

【新增 / 调整】
· 新增「映射槽位看护」:有的 App 用着用着把内存切得太碎,会自己崩——报「内存不足」,其实内存还剩一大半。开启后,哪个 App 快占满就先帮它重启一次(约 10 秒自动拉回),把占的块清空;还能在开机把系统上限抬高 4 倍,让它更难占满。设置页可开关、可调触发线(用到几成动手)。
· 主页新增「需要 root 时」引导条:装内核模块前不会再错过授权弹窗,点一下就能授权安装,装好自动消失。
· 内置开机模块升到 v1.6:卸载/停用会导致开机抬上限失效、进程页内核上限退回错误的 65530,App 内多处已给出提示。

【修复】
· 修「取消守护后依然杀不死」:之前取消守护只是停止继续写入,已经写进进程的常驻标记不会自动清除,系统仍把它当常驻进程(被杀还会被自动拉起)。现在取消守护会把这些标记一并清掉。
· 修「保活开了却没钉住」:系统另有一份并行的优先级副本,只改一处会被系统每轮重算回去。现在两边一起改,优先级才真的钉得住。
· 修「某些 ROM 上完全不生效」:部分 ROM 把系统内部的优先级实现类挪了位置,模块一旦找不到就整体失效。现已加备选类名兜底。
· 修「刚开机就显示 24 小时存活率 100%」:之前把没采过样的空档当成存活,等于凭空满格。现在开机未满 1 小时显示「—」,按实际观察时长算。
· 修「守护事件和进程页读得慢」:全量进程扫描原本串行阻塞在同一轮里(上千次文件读取),现已挪开不再拖慢上报;打开进程页等数据的时间也从最长 10 秒降到 4 秒。
· 修界面上的几个毛病:进程页长按菜单会跟着列表刷新漂到别的行;标签排满时被挤成一列竖点(看着像标签丢了);档位说明点第二下收不起来。
· 修「消息保活与优先级档位只能二选一」:两者机制不同(一个改内核优先级,一个防应用自己断长连接),现已可同时开启、互不覆盖。
· 修列表销毁瞬间的闪退(空指针)。
· 修能力自检漏算开机模块:以前主页、设置页只统计 15 项、显示 15/15,现在三处统一计入模块,显示「含开机模块 16/16」。
· 修上下滑误触翻页(改为只认 tab 点击切换)。
· 修导入/恢复配置后,槽位开关界面状态没有回到实际生效值。

安装后请在 LSPosed 勾选本模块并重启;「开机抬高上限」点设置页一键安装内核模块(KernelSU / Magisk 都行)。

Assets

1

10/6/2026, 7:09:13 AM

ProcessKeepAlive 3.3.1(build 4)

攒了好几个小问题,这版一起修了:

  • 首页"已守护"标签多了会超出边框、显示不全,现在能自动换行,不会再被挤没
  • 检查更新一直失败,原因是地址错指到私有仓库了,已改回公开收录仓
  • 适配了 Android 16 / 17(LineageOS)上系统 OOM 调度类改名的问题,之前在这两个系统上保活档位会失效

源码仓库保持私有,模块更新和仓库链接都走公开收录仓。

Assets

1

10/3/2026, 11:40:36 AM

ProcessKeepAlive v3.3.0 (build 3)

  • 移除页面保活诊断钩子(ActivityDestroyDiag):此前为定位「回前台页面重载」问题,临时在 system_server 上挂载了 32 个「仅打日志、不改行为」的调试钩子。现已完全移除,system_server 不再挂载这些钩子,降低开销与潜在的不稳定。
  • 保留安装豁免修复:修复「保活应用无法更新 / 卸载」的问题——PackageInstaller 触发的 forceStopPackage / killBackgroundProcesses 拦截,已对 install / update / replace / uninstall 等场景放行,root / shell / 系统安装器调用均不受误伤。
  • 保留 fakeForeground(页面保活):开关行为不变,仅在「系统框架」作用域内生效。
  • 版本号重置为小号方案:versionCode 3 + versionName 3.3.0(即 3-3.3.0)。此前装过 4000/4001 测试版的用户,Android 会视为降级,需先卸载再安装本版本。

安装后务必在 LSPosed 中勾选「系统框架 (android)」作用域,否则模块不生效。

Assets

1