系统工具

关注公众号 jb51net

关闭

NoActive(Android后台CPU不再活跃) v2.6 安卓版

热门排行

截图

滑动图片可查看更多>>

简介

XP模块 NoActive是作者myflavor开发的XP模块,NoActive正如其名,让Android后台CPU不再活跃。NoActive可以达到类似iOS的墓碑后台机制。iOS的墓碑后台机制是指,当你使用一个程序时,这个时候你直接滑出去并没有关掉,这时系统会将它冻结,所谓冻结就是把它保留在RAM(运存)中但是断开了它与处理器的联系,不让它执行任何操作。喜欢的朋友不要错过哦!

应用说明

作用域说明:

系统框架:

1、Hook应用切换事件,冻结切换至后台的应用,解冻切换至前台的应用

2、Hook广播分发事件,屏蔽被冻结的应用接收广播,从而避免触发广播ANR

3、Hook计算oom_adj事件,修改后台应用的oom_adj,白名单主进程500子进程700,冻结名单主进程700+子进程900+

4、Hook系统ANR事件,由于冻结之后,应用无法做出响应被系统认为是ANR,所以需要屏蔽ANR避免系统误杀被冻结的APP

5、Hook系统是否开启暂停执行已缓存变量获取,由于系统自带的暂停执行已缓存在收到广播后可能解冻再次活跃

电量和性能(MIUI):

1、Hook清理APP事件,将该方法置空解决锁屏或夜间杀后台

2、禁用millet,该功能与NoActive重复

冻结方式说明:

目前Linux进程冻结方式有Kill -19、Kill -20、Cgroup Freezer V1、Cgroup Freezer V2

Kill -19和Kill -20兼容性最好,但是存在Bug,进程还在依然重载

Google官方使用Cgroup Freezer V2

NoActive仅仅作用于系统框架,不是Root权限,权限不足

Kill使用Android的Process.sendSignal,该方法为安卓封装间接调用Kill,所以可能存在部分系统19有效或者20有效,需要自测

Cgroup Freezer V1和V2采用NoActive参考millet自行实现并封装,或V2调用安卓Process.setProcessFrozen实现

所以NoActive支持5种冻结方式分别为Kill -19、Kill -20、Cgroup Freezer V1(NoActive)、Cgroup Freezer V2(NoActive)、Cgroup Freezer V2(系统API)

由于对System权限不足导致无法读取配置判断Cgroup Freezer版本,故Hook获取系统是否支持暂停执行已缓存来判断V2、其余皆为V1,如果测试没有效果,或者冻结error报错,请选择Kill方式,配置方式参考下面的配置文件说明。

配置文件说明:

目录 /data/system/NoActive

即时生效配置:

blackSystemApp.conf 系统黑名单(系统APP默认白名单)

killProcess.conf 杀死进程名单(后台3S杀死进程)

whiteApp.conf 白名单APP(用户APP默认黑名单)

whiteProcess.conf 白名单进程(添加白名单APP无需添加)

重启生效配置:

debug 开启调试日志

disable.oom 禁用修改oom_adj功能

kill.19 使用Kill -19冻结

kill.20 使用kill -20冻结

freezer.v1 使用Cgroup Freezer V1(NoActive)冻结

freezer.v2 使用Cgroup Freezer V2(NoActive)冻结

freezer.api 使用Cgroup Freezer API(系统API)冻结

color.os ColorOS专属配置(特殊oom_adj方式)

日志说明:

日志级别分为debug(调试信息)、info(基本信息)、warn(警告信息)、error(错误信息)

已知问题:

1、非MIUI长期后台仍可能出现闪退,取决于冻结期间是否收到Binder消息,目前没有解决方案

2、MIUI最近任务的APP长期不活跃,出现掉卡片现象,但是点开不重载,属于卡片丢失问题

2022.8.12 20:20 更新

冻结后释放唤醒锁

2022.8.10 00:10 更新

新增黑白名单标识

2022.8.10 08:30 更新

修复电量性能少Hook一处

2022.8.6 01:15 更新

优化切换事件

去除修改oom_adj功能(导致Sanboxed进程被LMK杀后闪退)

2022.8.3 00:45 更新

新增忽略前台选项

更新说明

v2.6

1.优化功耗

2.修复唤醒锁

v2.3LTS

优化线程使用

MIUI若出现进程被解冻,请尝试刷入Millet_disable模块禁用Millet

v1.7

1、定时解冻(每分钟解冻3秒冻结时间最久的APP)

2、捐赠按钮

v1.1

1、阻止不活跃的Activity被清理,有效解决重载问题

2、MIUI13可通过监听Binder消息临时解冻应用3s,有效解决长时间后台点开闪退问题

软件信息

大家还下载了