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無需添加)