Skip to content

进程保活 v3.4.4(build 4030)

Choose a tag to compare

@Guys222 Guys222 released this 22 Oct 12:53
· 5 commits to main since this release

进程保活 v3.4.4(build 4030)

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

稳定性

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

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

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

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

保活设置不再丢失

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

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

诊断

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

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

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

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

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

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

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

其它

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

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