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

简体中文 | English

进程保活(ProcessKeepAlive)

🐛 问题反馈:本仓库(LSPosed 收录库)按官方策略未开放 Issues,请到公开反馈仓库 ProcessKeepAlive-Issues 提问或反馈 (源码仓库私有维护,不对外开放;Issues 提 Bug,Discussions 提问)。

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

安装

在 LSPosed Manager 中搜索「进程保活」安装,或从 Releases 下载最新 APK (如 PKA-v3.4.4-build4031.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.4(build 4031)

保活

  • 修复「按 Home 回桌面后自动跳回被保活应用」:撤回对 PAUSED(失去焦点)与窗口可见性的拦截,页面保活只保留「不进入 STOPPING」
  • 效果:可以正常切到桌面,切回来仍是原页面、不重新加载,后台任务不中断

说明文案

  • 设置页「保活环境」改为「通知与环境」,开头说明这些项只影响通知显示与开机自启,防杀与补拉在系统进程内运行、不依赖它们
  • 逐项补充边界:通知权限、电池优化、常驻通知服务分别影响什么、不影响什么
  • 自启动由「不适用」改为「需确认」
  • 底部结论改为「以上均已就绪」,并注明未通过项不影响防杀与补拉

v3.4.4(build 4030)

稳定性

  • 修复开机、切换应用时的系统卡顿与「没有响应」提示:字段查找加入成功/失败缓存,同一字段只反射一次;进程启动标识改用真实存在的字段
  • 保活设置关闭后不再被清空,重新开启恢复上次配置;分身恢复自身配置
  • 高频的进程结束记录接入缓存,非保活目标不再重复解析

诊断

  • 运行日志改为落文件,单文件 8MB、轮转保留一份,合计约 16MB;诊断包附带末尾约 2MB
  • 每次开机写入分隔行与版本号,便于定位问题所属的开机区间
  • 崩溃现场改为提取主线程,不再只取文件末尾
  • 系统高负载时仅跳过调用栈采集,日志照常记录

v3.4.4(build 4028)

稳定性

  • 修复「批量结束进程」拦截返回空值导致的系统进程异常(严重时整机重启)
  • 拦截统一按方法声明类型返回值,杜绝同类拆箱异常
  • 非保活进程不再逐个解析包名与 uid,系统调整优先级时的开销大幅下降
  • 按 CPU 核数与内存分档,性能有限的设备自动放慢巡检节奏

保活

  • 页面保活扩展到暂停、停止、窗口不可见三条路径,应用持续认为自己在前后台切换后回到原位,补充状态机路径
  • 新增进程重要性查询伪造(getMyMemoryState / getRunningAppProcesses)

推送

  • 省电白名单 + 待机状态置为活跃,息屏久置消息不延迟
  • 系统「是否限制该应用」的查询一律答复未限制,避免应用误判后主动断连

网络

  • 卡死判定改为流量状态机:先确认正在传输,归零约 36 秒后自动恢复
  • WiFi 高性能锁改为按流量持有(原先依赖连接表,多数机型上从未生效)

拉起

  • 优先选择无副作用的服务,备份/迁移/媒体类仅在别无选择时回退
  • 更新与安装期间开窗口让路,不再与安装流程冲突

诊断

  • 诊断包只带本模块日志,体积从数 MB 降到数百 KB
  • 自动附带系统崩溃现场,并标注是否包含本模块
  • 文件名带版本与导出时间

v3.4.4(build 4027)

后台断网防护重做

  • 防火墙相关钩子此前未生效:类名、方法名与 AOSP 实际实现不符,规则从未被拦下。现按源码逐个核实,重做为五层防线(策略决策 / 执行 / 客户端漏斗 / 查询 / 兜底巡检)。
  • 补全 6 条杀进程与冻结路径:批量清理、LRU 回收、进程组终止、Android 15+「不让后台运行」、app freezer,以及两条系统前置查询。
  • 补上「应用自查」的四个通道:系统用「是否亮屏 / 是否 Doze / 是否计费网络 / 是否限制后台」告知应用被限制,现只对保活目标伪造。
  • 页面保活覆盖状态机路径:此前只拦「被遮挡」两条路径,部分应用走状态机直接路径,现补上三条入口,并保留「用户主动退出不拦」。

网络与兼容性

  • 下载卡死自动恢复:检测到「有活跃连接但 32 秒零流量」时注入一次网络恢复事件,逼应用重建连接。
  • WiFi 高性能锁:联网期间持有,空闲释放。
  • 修复 Android 17 上 trimSuppress 被误判「不适用」:类解析改为「类在且方法在」,方法搬家可回落到备选类。

性能

  • 高频路径接上进程缓存:非目标进程一次查表返回,不再逐个反射。
  • 新增设备分档(CPU 核数 + 内存):自动调整心跳与巡检频率。
  • VMA 看护在低端机型默认关闭;找进程改走记账,900 次文件读降为 3 次。

v3.4.4(build 4025)

分身保活做全

  • 分身扫描「桌面入口」通道:双开应用即使从未打开过,也能在「分身应用」页列出并直接勾选保活。
  • 修掉「双开应用扫不到」的三个堵点:用户枚举不返回分身用户、分身用户被 ROM 隐藏、分身用户被 isCloneProfile 误排除。
  • 主身 / 分身两个页面各有独立的「显示系统应用」开关:分身页默认只看第三方分身。
  • 分身行的系统属性按真实标志判定,不再靠主用户同名应用近似。

保活强度

  • 页面保活「三保险」:伪装前台 + 拦截活动进入销毁队列(只拦被遮挡,按返回键正常退出不受影响)+ 抑制系统内存回收信号。
  • 进程出生瞬间打标:进程记录诞生的那一刻就写入常驻 / 核心级标记。

性能(针对「安装模块后手机变卡」)

  • 心跳进程扫描改为直接读系统内存中的进程列表,不再每 4 秒遍历 /proc 读几百个进程;
  • 全量进程扫描改为自适应节奏(机器越快刷新越勤,最快 2 秒);
  • 分身扫描改为 2 分钟兜底 + 打开分身页 / 下拉刷新时即时扫描;
  • 高频调用路径减负:已确认非目标的进程一次查表即返回。

修复:设置页长按复制无效(诊断包 / 备份恢复等行)、分身扫描通道互相连坐、分身键退化成主包名、合成内存回收与页面保活目标相反、配置弹窗黑边。

  • 版本号 3.4.3 → 3.4.4,versionCode 4024 → 4025,签名不变可直接覆盖安装;更新后需重启一次系统让新钩子生效。

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/24/2026, 1:57:06 AM

进程保活 v3.4.4(build 4031)

本版修复「返回桌面后自动跳回被保活应用」,并改写环境检查的说明,不再让人误以为权限没开全保活就不工作。

保活

返回桌面不再被弹回应用

部分设备上,按 Home 回桌面后,桌面刚显示就被顶回刚才的应用,来回反复,像是回不去。

原因是页面保活把「失去焦点」和「窗口不可见」也一并拦下了:应用在系统里仍被记为前台,而窗口其实已经看不见,系统一直试图纠正这个矛盾,表现就是不停把应用拉到前面。

现在只保留「页面不被销毁」这一层:可以正常切到桌面,切回来仍是原来的页面,不会重新加载,后台任务也不中断。

说明

环境检查不再暗示「缺一不可」

设置页那一节的标题改为「通知与环境」,并在开头写明:这几项只影响通知栏能否正常显示、以及模块应用开机后能否自行启动;防杀、补拉与断网拦截都在系统进程内运行,不依赖它们——某一项没通过,保活照样工作。

逐项也补清了边界:

  • 通知权限没给:只是看不到常驻通知与恢复提示,防杀与补拉不受影响
  • 电池优化未加入:配置同步与通知会变慢,防杀本身不受影响
  • 常驻通知服务:只控制通知栏是否常驻显示,与保活无关
  • 自启动:原来显示「不适用」,现在改为「需确认」——它不是不必管,而是无法自动检测,需要自己去 ROM 设置里看一眼

底部结论也从「全部通过」改为「以上均已就绪」,并注明未通过项不影响防杀与补拉。

安装后请在 LSPosed 中勾选「系统框架(android)」作用域,并重启一次系统,新钩子才会生效。
建议同时确认:电池优化白名单已加入、ROM 自启动已开启——这两项影响的是通知与开机恢复。

Assets

1

10/22/2026, 12:53:54 PM

进程保活 v3.4.4(build 4030)

本版修掉了开机与切换应用时的系统卡顿,新增可长期回看完整日志,并让保活设置在被关闭后仍能记住。

稳定性

修复开机卡顿与系统应用无响应

部分设备开机后、或频繁切换应用时,会弹出「没有响应」的提示。被提示的应用本身并没有问题——它们都要向系统进程取数据,而系统进程当时被拖住了。

现已修复:模块在读取进程信息时会重复尝试多个字段名,其中不存在的字段每次都要走一次代价很高的失败查找,而这个动作会对全机每个进程各做一遍。现在同一个字段只需查一次,之后的读取几乎不产生开销。

开机、解锁、切换应用、弹出通知这些场景都会触发这项检查,所以此前的影响是持续的,只是开机最集中、最容易被察觉。

保活设置不再丢失

此前把某个应用的保活关闭、之后重新打开,之前选好的档位和各项开关会被清空,回到默认值。现在关闭只是暂停,重新开启会恢复上次的全部设置。

分身应用同样适用:重新启用时恢复该分身自己的配置,不再套用主应用的。

诊断

日志容量从 50 条提升到 8MB

此前的运行日志只保留最近 50 条,大约十几分钟就被覆盖,等问题反馈上来时早看不到现场。

现在日志会写入文件,单文件 8MB,写满后自动轮转并保留上一份,合计约 16MB,按当前输出量可覆盖数小时到数十小时。每次开机写一行分隔,并记录版本号,便于确认问题发生在哪一次开机之后。诊断包会附带最近约 2MB 的完整日志。

写入在独立低线程中批量完成,不影响保活本身。

崩溃现场能看到真正卡住的线程

此前采集系统卡死现场时只取了文件末尾,而真正说明问题的「主线程」位于文件开头,等于每次都抓到无关内容。

现已改为专门提取主线程部分。反馈卡顿时,诊断包里可以直接看到卡在哪个方法上,不需要再单独抓日志。

其它

  • 系统高负载时会跳过调用栈采集,但日志照常记录,不再出现关键时段一片空白
  • 高频的进程结束记录接入了缓存,非保活目标不再重复解析

安装后请在 LSPosed 中勾选「系统框架(android)」作用域,并重启一次系统,新钩子才会生效。
建议同时确认:电池优化白名单已加入、ROM 自启动已开启——这两项是保活失效最常见的外因。

Assets

1

10/22/2026, 9:52:40 AM

进程保活 v3.4.4(build 4028)

本版主要针对两类反馈:激活后系统卡顿、桌面无响应,以及保活应用切到后台就停任务。

前者来自两处:一处是系统每次调整应用优先级时,模块都要把全机上千个进程逐个解析一遍;另一处是一个拦截逻辑的返回值有误,触发系统进程异常,严重时整个系统重启。两处都已修掉。

稳定性

修复导致系统重启的崩溃

拦截系统「批量结束进程」时返回了空值,系统拿它去判断真假时抛异常,而异常发生在系统进程里,整个系统随之重启。现已修复,并加了一层通用保护:任何拦截都按方法要求的类型返回合适值,同类问题不会再出现。

大幅降低系统开销

系统每次调整应用优先级,模块都要对全机上八百个进程逐个判断。现在非保活目标一次查表就返回,不再逐个解析。设备越弱、进程越多,这项改善越明显。

按设备性能自动调整

读取 CPU 核数与内存,分低端 / 中端 / 高端。性能有限的设备自动放慢巡检节奏,不再用同一套参数硬扛。

保活

切后台仍按前台对待

之前只阻止页面被销毁,应用仍然会收到「你不可见了」的信号并停掉任务。现在从页面状态到窗口可见性全部接管,应用始终认为自己还在前台,后台下载、播放、长连接不会因为切走而中断。

回前台还是原来的界面

补充了状态机路径,覆盖更多切后台的情形。

推送

后台收消息不再被掐断

  • 息屏久置后消息不会被拖到下次唤醒:省电白名单 + 应用待机状态置为活跃
  • 系统询问「是否限制该应用」时一律答否,应用不会误以为自己被限而主动断开长连接
  • 守护进程不会被系统回收,推送通道不因进程消失而重连

唤醒路径也保住了

开机自启、被杀后拉起、从停止态唤醒,三条路径都已打通;拉起时不再触发备份、迁移类后台任务,避免顺带挂出通知。

网络

卡死自动恢复

原来判断「连接是否僵死」依赖系统连接表,在部分设备上读不到,功能等于没开。现在改为按流量判断:先确认正在传输,之后突然归零超过约 36 秒,自动触发一次网络恢复,等价于手动暂停再继续。

WiFi 高性能

只要目标近一分钟有流量就持有高性能 WiFi 锁,无流量自动释放,压住省电策略导致的丢包。

拉起

不再顺带启动备份类服务

拉起目标进程需要借它的某个服务作为入口。之前按声明顺序取第一个,常常启到备份、迁移、媒体这类服务,顺带挂出常驻通知。现在优先选择无副作用的服务,只有在别无选择时才回退,并记录日志。

诊断

诊断包只带本模块日志

按包名过滤,体积从几 MB 降到几百 KB,覆盖的时间范围反而更长。

自动带崩溃现场

读取系统的崩溃记录,并在包内标注「是否包含本模块」,软重启后不需要再单独抓日志。

文件名带版本与时间

不再互相覆盖,一眼能看出是哪个版本、哪一刻导出。

其它

  • 后台静默:空闲的媒体会话不再常驻通知栏;非消息类常驻通知不再顶到通知栏(消息、通话、闹钟不受影响)
  • 版本号显示修正:不再重复显示构建号
  • 应用列表:主应用行显示「有分身」并优先展示自身状态
  • 更新提示:打开应用即检查,有新版本立刻提示;同一版本一天内不重复打扰

安装后请在 LSPosed 中勾选「系统框架(android)」作用域,并重启一次系统,新钩子才会生效。

Assets

1

10/21/2026, 12:37:29 AM

进程保活 v3.4.4(build 4027)

本次更新把「进程杀不死」和「界面不重建」两条线同时补齐,并解决了低端机装模块后卡顿的问题。

保活能力

后台断网防护重做

原来的防火墙钩子类名、方法名凭记忆写错了,两条钩子全都没挂上,后台该断还是断。这次按 AOSP 源码逐个核实,重做成五层:策略决策层、执行层、客户端漏斗、查询层、兜底巡检。让规则根本不产生,比事后拦截更彻底。

补全 6 条杀进程与冻结路径

之前只堵住主入口,漏了批量清理、LRU 回收、进程组终止、Android 15+「不让后台运行」、app freezer 这几条。现在六个入口全部有防线。实测系统「不让后台运行」三连发杀进程请求,被逐层拦下。

补上「应用自查」的四个通道

系统会用「是否亮屏 / 是否 Doze / 是否计费网络 / 是否限制后台」四个查询告诉应用「你被限制了」,应用据此主动断连。现在这四个回答只对保活目标伪造,应用拿到的永远是「一切正常」。

页面保活覆盖状态机路径

之前只拦「被遮挡」两条路径;部分应用切后台走的是状态机直接路径,不在覆盖范围内,拦不住,回前台界面就重建了。现在补上三条状态机入口,同时保留「用户主动退出不拦」的判断,不会把返回键也吞掉。

网络

下载卡死自动恢复

检测到「有活跃连接但 32 秒零流量」时,自动注入一次网络恢复事件,逼应用重建连接,等于替你按了暂停再继续。根因是 TCP 连接僵死——连接还挂着,但两端都不再发数据

WiFi 高性能锁

保活目标联网期间持有高性能 WiFi 锁,防止 ROM 省电策略让 WiFi 芯片进省电模式后丢包。有连接才持有,断了就释放,不额外耗电。

兼容性

trimSuppress 真正生效

AOSP 17 把方法从 CachedAppOptimizer 搬到了 AppProfiler,而模块的类解析只看「主类在不在」——主类还在就停了,备选类永远轮不到,于是所有 Android 17 设备上这项都显示「不适用」。现在改为「类在且方法在」才算命中,方法搬家能自动回落。这项生效后,应用切后台不会收到「界面已隐藏」信号,不会主动释放页面缓存。

修正 trimSuppress 的说明文案

原来说明抄的是批量 adj 通道的降级原因,跟 trim 完全无关。现在按能力分派,trim 单独一套说明。

体验

模块安装控件与页面统一

设置页的「安装 / 更新」原来是灰底灰字、圆角比开关大一圈;首页的模块提示条又是另一套描边。现在按钮与胶囊开关同高同圆角、主色底,提示条统一到弹窗提示条的语言。

安装结果改用应用内浮层

原来是系统 Toast,Android 11 起会被强制画成底部白条并塞进应用图标,长文本还会截断。现在改用应用内浮层,绿勾 + 标题 + 副标题,和「保活已开启」完全一致。

性能

热路径接上进程缓存

系统每次调整进程优先级,都会对全机七八百个进程各跑一遍。模块原来对每个进程都做一次包名反射,而 99% 不是保活目标。缓存其实早就写好了,只是一直没接上——现在非目标进程一次查表就返回。

按设备能力自动调速

新增设备分档:读 CPU 核数和内存,分低端 / 中端 / 高端,自动调整心跳与巡检频率。同样的固定开销,核心与内存充裕的机型摊到整机占比很低,核心少、内存小的机型会被放大数倍;分档之后,性能有限的设备会自动放慢节奏,不再用同一套参数硬扛。

VMA 看护按档位默认

「映射槽位看护」要反复读进程的 maps 文件,是整套机制里最重的一项。低端机现在默认关闭,用户想开随时能开,开了就记住,不会被档位改回去。

VMA 找进程不再扫全机

原来每 60 秒遍历 /proc 下所有进程找目标,900 个进程就是 900 次文件读。现在直接用热路径的记账,900 次降到 3 次。


安装后请在 LSPosed 中勾选「系统框架(android)」作用域,否则模块不生效。
建议同时确认:电池优化白名单已加入、ROM 自启动已开启——这两项是保活失效最常见的外因。

Assets

1

10/18/2026, 4:13:37 AM

ProcessKeepAlive v3.4.4 (build 4026)

本次更新解决两件主要的事:界面支持英文,以及修掉「开机后App 和保活列表里的应用都不自动启动」的问题。

新增

  • 界面多语言:全部界面文案已本地化,支持中文 / English;设置页新增「语言」一行,可随时切换,切换后立即生效。

修复

  • 开机不自动拉起(临时 root / 软重启场景):用临时 root 软重启激活 LSPosed 后开机,保活列表里的应用不会自动拉起,模块 App 自身也没有启动,必须手动打开等几秒才恢复。原因是 App 处于停止态时,开机广播送不到、配置通道也调不通,而旧逻辑在开机 30 秒后只尝试一次,拿不到配置就永久放弃。现在改为等配置真正加载成功后再拉起,等待期间会以系统身份把 App 进程带起来(不弹任何界面)。
  • 英文界面残留中文:档位名(保守 / 均衡 / 激进)、守护事件标签(系统重启 / 模块拉活等)、部分括号与标点,在英文下仍显示中文。根因有三类,已全部修掉:本地化文案在类加载时被提前求值而冻结、模块钩子运行在 system_server 进程没有资源导致的中文经数据通道流入、约 15 处硬编码的中文标点。
  • 能力自检页显示原始方法名:该页只翻译了部分能力名,其余直接显示 taskRemoved、trimSuppress 这类内部标识符,甚至中文原名。已补齐全部中英对照。
  • 更新提示长期不弹:每次打开设置页都会把「上次检查时间」刷新成当前时间,导致自动检查的 24 小时节流被偷走,表现为天天开 App 却连续几天收不到更新提示。

安装后务必在 LSPosed 中勾选「系统框架 (android)」作用域,否则模块不生效。
versionCode 4025 → 4026,签名不变,可直接覆盖安装。

Assets

1

10/17/2026, 2:10:25 PM

ProcessKeepAlive v3.4.4 (build 4025)

本次更新围绕「分身保活做全」与「性能开销治理」两条线,共 20 项改动。

新增

  • 分身扫描「桌面入口」通道:此前分身只有跑起来才看得到,现在双开应用即使从未打开过,也能在「分身应用」页列出并直接勾选保活。(仅限系统分身 / 应用双开;第三方双开容器内部的应用系统扫不到,只能管理容器本身)
  • 页面保活「三保险」:① 进程伪装前台;② 拦截活动进入销毁队列(只拦被遮挡的情况,用户按返回键正常退出不受影响);③ 抑制系统给不可见进程派发的内存回收信号。回前台不再重载页面。
  • 进程出生瞬间打标:应用进程记录诞生的那一刻就写入常驻 / 核心级标记,补上「进程刚起来、系统还没算过优先级」这段窗口期内的保护。
  • 主身 / 分身两个页面各自独立的「显示系统应用」开关:分身页默认只看第三方分身,不再被分身用户里上百个预装应用淹没;两个页面各记各的,互不干扰。
  • 分身行的系统属性判定更准:不再靠主用户同名应用近似判断,直接用扫描时读到的真实系统标志,分身页过滤更干净。

修复

  • 设置页长按复制无效:诊断包、备份 / 恢复等几行的长按复制此前点不动(内层布局吞掉了触摸事件),现已全部可长按复制。
  • 双开应用扫不到,三个堵点一并修掉:
    • 部分 ROM 的用户枚举不返回分身用户(pre-created 用户被过滤)→ 多种签名合并枚举;
    • 分身用户被 ROM 从用户列表里隐藏 → 用运行中进程暴露的用户 id 补齐;
    • 分身用户不带标准 clone profile 标记而被误排除 → 改为只按「非主用户」判定。
  • 分身扫描一条通道失败会拖垮整轮:已改为各通道独立成败,不再互相连坐。
  • 分身配置可能与主包串在一起:uid 字段候选补全,避免分身键退化成主包名。
  • 合成内存回收与页面保活目标相反:开了页面保活的应用不再被主动催促释放界面缓存。
  • 配置弹窗黑边:「实际生效档位」提示框的显隐逻辑修正。

性能

本次针对「安装模块后手机变卡」的真实反馈做了专项治理,把 system_server 里的周期性开销压下来,同时不牺牲任何响应速度:

  • 心跳进程扫描改为零文件读取:原本每 4 秒遍历 /proc 读几百个进程,现改为直接读系统内存中的进程列表,这部分开销降为原来的千分之一,保活补拉节奏保持不变。
  • 全量进程扫描改为自适应节奏:间隔按实测耗时自动调整(机器越快刷新越勤,最快 2 秒;进程特别多时自动放宽),不再固定高频扫描拖慢整机调度。
  • 分身扫描改为按需触发:2 分钟兜底 + 打开分身页 / 下拉刷新时即时扫描,既省掉常驻开销,也不用干等。
  • 高频调用路径减负:系统每次优先级重算都会对一批进程走一遍钩子,现已确认非目标的进程一次查表即返回,省掉反复反射。

安装后务必在 LSPosed 中勾选「系统框架 (android)」作用域,否则模块不生效。
versionCode 4024 → 4025,versionName v3.4.3 → v3.4.4,签名不变,可直接覆盖安装。

更新后需重启一次系统(或重启 system_server)让新钩子生效;签名不变,无需卸载。
升级后首次打开「分身应用」页,请下拉刷新一次触发即时扫描,双开应用会立即列出。

Assets

1

10/16/2026, 1:18:47 PM

v3.4.3(build 4019)更新说明

通知栏常驻通知 · 稳定性修复

1. 修复:开关开着,通知却自己消失

此前常驻通知完全挂在前台服务上。服务被系统回收后重启时,Android 12+ 对「后台应用启动前台服务」有限制,前台化失败后服务会静默退出——开关还显示开启,通知栏却空了,且只能等下次打开 App 或重启手机才恢复。

现在:

  • 前台化失败不再退出服务,降级为普通模式继续运行,通知照发;
  • 新增看护任务,每 15 分钟巡检一次,无论服务状态如何都会补发通知——最坏情况只是数字更新变慢,通知不会再消失;
  • 失败原因会记录,便于排查。

2. 修复:划掉卡片后,通知栏跟着关闭

在部分系统上,从最近任务划掉本模块的卡片会连前台通知一并移除,而服务无法在后台自行重启。

现在钩子运行在系统进程内,由系统直接重启服务(不受后台启动限制):心跳每 10 秒检测一次,发现模块被回收后 1.5 秒内恢复服务,通知秒级回来。仅在「常驻通知」开关开启时生效;从设置里「强行停止」仍会被尊重,不会自动恢复。

其他

  • 若干界面文案修正。

适配说明

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

安装前如已安装过更高版本号的测试包(如 4024),需先卸载再装。

Assets

1

10/16/2026, 5:07:32 AM

ProcessKeepAlive v3.4.3 (build 4018) 更新说明

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

一、保活可靠性:集中修复 18 个问题

一次完整代码排查(16,527 行 Java)发现的 18 个问题全部修复,重点在「保活会静默失效」与「界面显示不准」两类:

保活失效类(会悄悄丢保活的真 bug)

  • 修复包名含 install/update/replace/uninstall 字样的目标(如 com.xxx.updatehelper)被误判为「正在安装/更新」而放行强停,保活静默失效且日志查不到。
  • 修复心跳遍历系统进程列表时无锁并发导致的整轮中断,存活判定与自动补拉更稳。
  • 修复极少数情况把子进程(如 :push)误当主进程打常驻标记,导致应用退出后反复重启抖动。
  • 修复进程 PID 被系统复用后写错 adj 档位、误伤新进程。
  • 修复个别机型重启后「已放弃目标」「能力自检」残留旧状态。

界面显示类

  • 修复未勾选任何应用时主页却显示 100% 存活率。
  • 修复模块未激活期间把活着的目标误采为 0,24h 存活曲线被拉崩。
  • 修复进程页偶发列表冻结(后台一次异常后永久停在旧数据)。
  • 修复应用列表下拉刷新转圈不消失。
  • 修复关机/长时间未采样后 24h 曲线失真。
  • 修复极端滚动/刷新时应用列表越界崩溃。

其他

  • 隐藏图标唤起入口注册改为原子化,避免重复注册与泄漏。
  • 模块重载后部分后台看护线程无法重启的问题。
  • 降低主页心跳对主线程占用,缓解低端机掉帧。
  • 自动安装模块后清理临时文件。
  • 模块未激活时进入应用偶发长时间「恢复连接中…」。
  • 修复 pid 上限写死导致高 pid_max 机型漏判、日志/注释残留旧暗码等细节。

二、隐藏桌面图标:方案重构,真正生效

  • 彻底解决「隐藏后仍残留图标 / 点击跳应用信息页」:定位到根因是 Android 10+ 系统开关 show_hidden_icon_apps_enabled(默认开启)会给应用注入一个「点了跳详情页」的合成图标。模块侧现在会自动关闭它(退出隐藏时还原),图标真正消失。
  • 隐藏后 LSPosed 管理器里的「启动」按钮仍然可用,无需拨号暗码、不会重启桌面。隐藏方式从「整包禁用」改为只切桌面 alias。
  • 移除试验期间的两个临时入口:「顽固桌面兼容(整包停用)」和「隐藏状态诊断」。

三、新增「尊重手动清理」

  • 设置页新增开关「我手动杀的不拉回」。开启后,你亲手划掉/强停/一键清理的目标不再被自动拉起,再次手动打开该 App 后自动恢复保活。
  • 修复了该机制的一个回魂漏洞:15 秒内对同一目标连续两次手动杀(如「打开→再划掉」)会被去重窗口吞掉登记、进程又被拉回并重新钉住。现在在进程死亡收口处按系统原因直接登记,补拉前一律复查,任何路径都拉不回来。

四、设置页新增「BUG 反馈群」

  • 设置页新增微信反馈群二维码(点按可放大截图扫码)。Q 群不常在,微信群反馈能第一时间收到回复,建议优先加微信群。

versionCode 4017 → 4018,签名不变(指纹 df2546e1),可直接覆盖安装。
无新增权限。

Assets

1

10/15/2026, 5:43:15 PM

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

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

★ 本次重点:修复桌面图标隐藏问题(build 4017)

上一次(build 4016)给「设置 → 桌面 → 隐藏桌面图标」加了开关,但隐藏后存在两个毛病:桌面会残留旧图标、点它还会跳到应用信息页。本版修掉。

  • 「设置 → 桌面 → 隐藏桌面图标」开启后,桌面图标彻底消失、不可点击——不再残留旧图标,点击不再跳应用信息页;
  • 隐藏后重新打开:拨号盘输入 *#*#888#*#* 直接唤起 App(无需重启);
  • root 兜底:am broadcast -a io.github.guys222.processkeepalive.UNHIDE;
  • 取消隐藏后,桌面图标立即恢复、可正常点击打开。

实现方式:由原来的 activity-alias 改为整包禁用 PackageManager.setApplicationEnabledSetting(..., DISABLED_USER)——桌面从「已安装」枚举里就直接过滤掉该应用,所以图标彻底消失、不留残影;重新唤起同时注册 NEW_OUTGOING_CALL 广播与 SECRET_CODE 两条通道兜底,个别定制 ROM 的拨号盘不广播暗码时也不会进不去。

上一版修复回顾(build 4016)

  • 设置新增「桌面隐藏图标」开关(activity-alias 方案)。

下载与验证

  • 安装后到「设置 → 桌面」打开「隐藏桌面图标」验证图标消失;
  • 拨号盘输入 *#*#888#*#* 验证可重新拉起;
  • 再关掉开关验证图标恢复。
  • versionCode 4016 → 4017,签名不变,可直接覆盖安装。

Assets

1

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