Repository navigation
进程保活 v3.4.4(build 4030)
进程保活 v3.4.4(build 4030)
本版修掉了开机与切换应用时的系统卡顿,新增可长期回看完整日志,并让保活设置在被关闭后仍能记住。
稳定性
修复开机卡顿与系统应用无响应
部分设备开机后、或频繁切换应用时,会弹出「没有响应」的提示。被提示的应用本身并没有问题——它们都要向系统进程取数据,而系统进程当时被拖住了。
现已修复:模块在读取进程信息时会重复尝试多个字段名,其中不存在的字段每次都要走一次代价很高的失败查找,而这个动作会对全机每个进程各做一遍。现在同一个字段只需查一次,之后的读取几乎不产生开销。
开机、解锁、切换应用、弹出通知这些场景都会触发这项检查,所以此前的影响是持续的,只是开机最集中、最容易被察觉。
保活设置不再丢失
此前把某个应用的保活关闭、之后重新打开,之前选好的档位和各项开关会被清空,回到默认值。现在关闭只是暂停,重新开启会恢复上次的全部设置。
分身应用同样适用:重新启用时恢复该分身自己的配置,不再套用主应用的。
诊断
日志容量从 50 条提升到 8MB
此前的运行日志只保留最近 50 条,大约十几分钟就被覆盖,等问题反馈上来时早看不到现场。
现在日志会写入文件,单文件 8MB,写满后自动轮转并保留上一份,合计约 16MB,按当前输出量可覆盖数小时到数十小时。每次开机写一行分隔,并记录版本号,便于确认问题发生在哪一次开机之后。诊断包会附带最近约 2MB 的完整日志。
写入在独立低线程中批量完成,不影响保活本身。
崩溃现场能看到真正卡住的线程
此前采集系统卡死现场时只取了文件末尾,而真正说明问题的「主线程」位于文件开头,等于每次都抓到无关内容。
现已改为专门提取主线程部分。反馈卡顿时,诊断包里可以直接看到卡在哪个方法上,不需要再单独抓日志。
其它
- 系统高负载时会跳过调用栈采集,但日志照常记录,不再出现关键时段一片空白
- 高频的进程结束记录接入了缓存,非保活目标不再重复解析
安装后请在 LSPosed 中勾选「系统框架(android)」作用域,并重启一次系统,新钩子才会生效。
建议同时确认:电池优化白名单已加入、ROM 自启动已开启——这两项是保活失效最常见的外因。