NoActive是创作者myflavor研发的XP控制模块,NoActive正如其名,让Android后台CPU不会再活跃性。NoActive可达到类似iOS的墓碑后台体制。iOS的墓碑后台体制就是指,当我们应用一个程序流程时,这个时候你立即滑出来并没关闭,这时候系统会把它冻结,所说冻结便是把他保存在RAM(运行内存)中可是断掉了它和Cpu的联系,不让它实行一切实际操作。
新版本特点
2022.8.3 00:45 升级
新增加忽视前台接待选择项
运用表明
修饰符表明:
系统架构:
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(错误报告)
2、本站永久网址:http://www.haoapk.cn
3、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
4、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6、本网站的文章部分内容来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。