編輯點(diǎn)評(píng):幫你凍結(jié)后臺(tái)應(yīng)用cpu更輕松
可以凍結(jié)后臺(tái)系統(tǒng)應(yīng)用的一款xp模塊,NoActive墓碑a(chǎn)pk是個(gè)很強(qiáng)大的應(yīng)用,可以幫你將RAM運(yùn)行時(shí)斷開與處理器的聯(lián)系,不僅節(jié)約手機(jī)電量,還能延緩手機(jī)的使用壽命,歡迎有興趣的免費(fèi)下載。
NoActive系統(tǒng)框架
1、Hook應(yīng)用切換事件,凍結(jié)切換至后臺(tái)的應(yīng)用,解凍切換至前臺(tái)的應(yīng)用
2、Hook廣播分發(fā)事件,屏蔽被凍結(jié)的應(yīng)用接收廣播,從而避免觸發(fā)廣播ANR
3、Hook計(jì)算oom_adj事件,修改后臺(tái)應(yīng)用的oom_adj,白名單主進(jìn)程500子進(jìn)程700,凍結(jié)名單主進(jìn)程700+子進(jìn)程900+
4、Hook系統(tǒng)ANR事件,由于凍結(jié)之后,應(yīng)用無法做出響應(yīng)被系統(tǒng)認(rèn)為是ANR,所以需要屏蔽ANR避免系統(tǒng)誤殺被凍結(jié)的APP
5、Hook系統(tǒng)是否開啟暫停執(zhí)行已緩存變量獲取,由于系統(tǒng)自帶的暫停執(zhí)行已緩存在收到廣播后可能解凍再次活躍
電量和性能(MIUI)
1、Hook清理APP事件,將該方法置空解決鎖屏或夜間殺后臺(tái)
2、禁用millet,該功能與NoActive重復(fù)
凍結(jié)方式說明
目前Linux進(jìn)程凍結(jié)方式有Kill -19、Kill -20、Cgroup Freezer V1、Cgroup Freezer V2
Kill -19和Kill -20兼容性最好,但是存在Bug,進(jìn)程還在依然重載
Google官方使用Cgroup Freezer V2
NoActive僅僅作用于系統(tǒng)框架,不是Root權(quán)限,權(quán)限不足
Kill使用Android的Process.sendSignal,該方法為安卓封裝間接調(diào)用Kill,所以可能存在部分系統(tǒng)19有效或者20有效,需要自測(cè)
Cgroup Freezer V1和V2采用NoActive參考millet自行實(shí)現(xiàn)并封裝,或V2調(diào)用安卓Process.setProcessFrozen實(shí)現(xiàn)
所以NoActive支持5種凍結(jié)方式分別為Kill -19、Kill -20、Cgroup Freezer V1(NoActive)、Cgroup Freezer V2(NoActive)、Cgroup Freezer V2(系統(tǒng)API)
由于對(duì)System權(quán)限不足導(dǎo)致無法讀取配置判斷Cgroup Freezer版本,故Hook獲取系統(tǒng)是否支持暫停執(zhí)行已緩存來判斷V2、其余皆為V1,如果測(cè)試沒有效果,或者凍結(jié)error報(bào)錯(cuò),請(qǐng)選擇Kill方式,配置方式參考下面的配置文件說明。
配置文件說明
目錄 /data/system/NoActive
即時(shí)生效配置:
blackSystemApp.conf 系統(tǒng)黑名單(系統(tǒng)APP默認(rèn)白名單)
killProcess.conf 殺死進(jìn)程名單(后臺(tái)3S殺死進(jìn)程)
whiteApp.conf 白名單APP(用戶APP默認(rèn)黑名單)
whiteProcess.conf 白名單進(jìn)程(添加白名單APP無需添加)
重啟生效配置
debug 開啟調(diào)試日志
disable.oom 禁用修改oom_adj功能
kill.19 使用Kill -19凍結(jié)
kill.20 使用kill -20凍結(jié)
freezer.v1 使用Cgroup Freezer V1(NoActive)凍結(jié)
freezer.v2 使用Cgroup Freezer V2(NoActive)凍結(jié)
freezer.api 使用Cgroup Freezer API(系統(tǒng)API)凍結(jié)
color.os ColorOS專屬配置(特殊oom_adj方式)
軟件點(diǎn)評(píng)
NoActive(包名:cn.myflv.noactive)是myflavor開發(fā)的一款XP模塊,NoActive正如其名,讓Android后臺(tái)CPU不再活躍。NoActive可以達(dá)到類似iOS的墓碑后臺(tái)機(jī)制。iOS的墓碑后臺(tái)機(jī)制是指,當(dāng)你使用一個(gè)程序時(shí),這個(gè)時(shí)候你直接滑出去并沒有關(guān)掉,這時(shí)系統(tǒng)會(huì)將它凍結(jié),所謂凍結(jié)就是把它保留在RAM(運(yùn)存)中但是斷開了它與處理器的聯(lián)系,不讓它執(zhí)行任何操作。
日志說明:
日志級(jí)別分為debug(調(diào)試信息)、info(基本信息)、warn(警告信息)、error(錯(cuò)誤信息)
更新日志
v2.6更新
1.優(yōu)化功耗
2.修復(fù)喚醒鎖
v1.1更新
1、阻止不活躍的Activity被清理,有效解決重載問題
2、MIUI13可通過監(jiān)聽Binder消息臨時(shí)解凍應(yīng)用3s,有效解決長時(shí)間后臺(tái)點(diǎn)開閃退問題
已知問題:
1、非MIUI長期后臺(tái)仍可能出現(xiàn)閃退,取決于凍結(jié)期間是否收到Binder消息,目前沒有解決方案
2、MIUI最近任務(wù)的APP長期不活躍,出現(xiàn)掉卡片現(xiàn)象,但是點(diǎn)開不重載,屬于卡片丟失問題
v0.9.8
優(yōu)化切換事件
去除修改oom_adj功能(導(dǎo)致Sanboxed進(jìn)程被LMK殺后閃退)
v0.9.7
新增忽略前臺(tái)選項(xiàng)
熱門評(píng)論
最新評(píng)論