应用简介
NoActive是一款Xposed模块,主要作用就是冻结后台应用,让其强行不再后台挂机运行,可以达到类似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系统是否开启暂停执行已缓存变量获取,由于系统自带的暂停执行已缓存在收到广播后可能解冻再次活跃
【配置文件说明】
目录 /data/system/NoActive
即时生效配置:
blackSystemApp.conf 系统黑名单(系统APP默认白名单)
killProcess.conf 杀死进程名单(后台3S杀死进程)
whiteApp.conf 白名单APP(用户APP默认黑名单)
whiteProcess.conf 白名单进程(添加白名单APP无需添加)