綠色守護vs黑域(前禁止運行)?

作為android系統的兩大神器,有何優劣,有何異同。請從原理上使用上安全上效果上省電上講解講解,小白用戶求科普!謝謝 @Oasis Feng


當初用Nexus的時候,用過root下的綠色守護+冰箱。畢竟2G內存+原生rom,根本經不起折騰。

幾個月前也用過非root的黑域。當時黑域還是開源的,但是當時黑域的部分核心代碼已經閉源了。不過還是順著git節點找到了核心代碼,簡單研究了一下黑域的原理。

簡單來說黑域就是通過監聽系統Log來分析應用是否是用戶意識形態上的被關閉(返回鍵退出應用),如果判斷是,那麼如果黑域監聽到了試圖再次非法啟動的進程,它會立馬Kill這個進程。

我記得當時用,效果還算不錯,畢竟非root玩家也可以用,對於深度定製的系統是個福音。不過也會出現一些app偶爾失效的情況。root的話,效果絕對更好。

黑域傾入性低,不會像xposed那樣去侵入你的系統(zygote),它僅僅是在使用的時候刷入一個shell腳本。這個brevent.sh腳本會在用戶文件系統增加一個app_porcess32文件的軟鏈接同時複製一個so庫(libbrevent.so),這樣黑域就擁有了讀取系統Log,強制休眠,kill其他應用的許可權,這也是為什麼每次重啟都需要重新通過adb刷這個腳本進去的原因,畢竟非root。在啟動黑域之後,會啟動一個IntentService來載入這個so庫,這個so庫會載入另一個so庫(libread.so),用來監聽以及回調Java層的事件回調函數。並且在用戶空間通過app_porecess32的軟鏈接fork了一個新進程(服務端),這個進程跑的純Java代碼代碼就是黑域的服務端,用來分析系統Log,以及一些客戶端的配置響應。客戶端與服務端進程通過Socket進行通信。其中最重要的就是分析系統事件,他一共只對六個事件感興趣:

AM_FOCUSED_ACTIVITY, AM_NEW_INTENT, AM_PAUSE_ACTIVITY, AM_PROC_START, NOTIFICATION_CANCEL_ALL, POWER_SCREEN_STATE。

舉個列子,如果收到AM_PROC_START事件,表示某個組件已經啟動完畢。服務端立馬通過Log中的componentName + uid去判斷這個組件是否已經被標識為不可啟動,如果是的話,會立馬調用ams去kill掉。

黑域大概的原理就是這樣。研究的比較淺,可能會有很多問題請指出。

冰箱這種app就比較狠了。。直接讓你的手機認為被禁用的app處於未安裝的狀態,人間蒸發。。

其實現在一些第三方rom優化的也不錯了。比如MIUI,幾乎不存在太多保活進程,除了一些系統白名單的App...額,這都是廠商之間的py交易。

Ps:

有同學說xposed支持了7.0+,搜了一下,目前是有一個非官方版本的xposed for N

來來來,非官方版本的Android7.0/7.1系統Xposed框架已經發布!SDK24/25均已支持 - Xposed框架中文站

也有隨之升級的原基於xposed的「阻止運行」插件——綠色運行

Xposed框架模塊 - 綠色運行

這是黑域作者的訪談錄:黑域少數派幕後原稿

今天看到Android8.0正式版發布了。看到Android原生rom對流氓後台服務越來越強硬,很激動!

後台執行限制 | Android Developers


目前來說黑域(阻止運行)都是我給周圍人調教手機的首選神器,大部分手機沒root或者不好root就直接adb開啟,叮囑一遍重啟了再來找我基本就沒啥事。

有root的教一遍也能自給自足。最好的當然是能刷補丁版黑域的或者上xposed框架的,效果很好又省事。

另外默認設置新裝應用進黑名單,這個功能我感覺利大於弊,常用的大廠應用流氓的總比良心的多。安裝微信qq和良心的應用偶爾需要自己手動放出來

至於綠守,雖然有了xposed和magisk加持,並且有配方這種特色功能。但是總的來說殺後台沒有黑域強硬。

另一方面,限制後台雖然黑域比較猛但是對於cpu喚醒以及doze優化並沒有相應功能。但是綠守有啊,而且挺好用,所以這兩應用其實是可以相互協作一起用的。

常見調教搭配:

1.單獨黑域 / 綠守

效果還行,這種情況建議單獨黑域,基本上後台煩惱沒有了也就不需要太優化cpu休眠了

單獨綠守的情況下,可使用adb調嗜睡模式。最好搭配xposed框架或者magisk,否則很多好用的特性用不了

2.黑域+ 喚醒調教類(綠守/ 阻止喚醒/doze優化等)

android 6.0以下的用戶因為沒有doze特性,請略過。

doze是android自帶的cpu休眠省電機制,雖然國內安卓手機廠會對該機制進行魔改,但一般都可以改為更加激進的休眠策略來實現省電和限制應用佔用cpu的目的。

3.應用冷凍類(冰箱、空調狗等)

這類單獨用就行了,畢竟你已經把應用都禁用了,也不存在什麼麻煩了。屬於快刀斬亂麻的解決方案。


個人認為綠色守護相對穩定。當然每個軟體都有一個逐漸走向穩定的過程。

另外在此譴責一下逼著開發者開發出這種軟體的流氓廠商,祝流氓廠商早日倒閉@百度全家桶@阿里全家桶


兩個都用過,個人覺得,如果你的手機未 root,且不希望 root,且稍微有點動手能力,用 adb 命令 + 黑域 比 綠色守護 好用得多。

未 root Google Pixel Android Oreo、黑域 用戶。


綠色守護主要是鎖屏以後進行休眠,解鎖以後無法休眠

黑域是關閉退出程序以後開始休眠

個人從判定休眠的行為認為是黑域,當然黑域可以兼容綠色守護


哪有這麼麻煩,一個綠色守護普通版就可以了,得到root許可權把基本所有app加入綠色化,然後對於顯示工作中的淘寶等再選忽略工作狀態,ok了再也不用打開綠色守護了


都用過,不過現在一直在用另一個 冰箱(com.catchingnow.icebox),讓我等強迫症患者好舒服,鎖屏(一種觸發條件)之後感覺世界都安靜了(直接將那些無需後台的禁用,去應用列表裡看看就知道了)。


目的:省電

使用建議:如果你的系統支持後台管理,沒必要使用這兩個了,據我實際使用,HOS 和EMUI的後台管理就挺不錯的,其他ROM歡迎大家補充。而且兩者選一就好,不必重複,因為你會發現同時使用並沒有帶來更好的省電

後台:

綠色守護:熄屏後自動切斷

組織運行:按下返回鍵幾秒後切斷

喚醒:

綠色守護:支持APP之間喚醒(可以選擇切斷

組織運行:僅支持重要喚醒,比如支付寶支付頁面、微信支付等等

對於Google系:

綠色守護:無法綠化

組織運行:可以通過僅阻止google service來避免耗電,缺點是使用前需要啟動google service

更直接的做法:掛上科學工具或者定期換hosts

使用:

綠色守護:側重用於待機

組織運行:用於保持乾淨的後台,避免卡頓

(沒用過黑域,因為換了一加3T 發現氫的後台機制十分討喜,而且折騰的熱情也過去了發現手機還是越方便越好)


感覺綠色守護對安卓6以後都有點力不從心啦 華為榮耀 肉特不框架 框架容易死機

感覺5.0以前的系統綠色還是很好用的


之前的未root,綠色守護+黑域,然後看到酷安和GitHub上柳大某些讓人心寒的話…算了…dalao就是dalao,惹不起咱還躲不起嗎?


黑白門+綠色守護。再也不怕流氓軟體啦!


如果想流暢省電的話,還是google play大法好。

手持榮耀5C(雙4G),幾乎所有軟體都是從google play下載的(通過ApkPure),從國內市場(華為)下載的軟體只有TIM,網易公開課,百詞斬,實習僧,農行,新英體育。

日常使用沒問題,主動發送通知的只有淘寶網易雲課堂和通訊軟體,軟體喚醒的情況也有,但很少,惡意喚醒什麼的幾乎沒有(當然我手機里BAT系軟體只有5個)。

要說弊端也有,很多軟體沒有在google play上架,也有很多不是最新版,也有的軟體一樣流氓,只不過沒有國內版那樣猖狂(BAT你懂的)


綠色守護好,因為能把應用「綠色化」,聞風喪膽


為何不上個冰箱?


推薦閱讀:

何為 Android Design,為什麼應用開發要遵循 Android Design?
如何看待用 HTML5 技術開發的 web 應用與 Android 或 iOS 等原生應用的關係?
怎樣使用深藍詞典?
既然有 Google Play 的存在,那為什麼 Apkpure 還能做起來?
Android 開發:開始一個項目前,做好哪些準備可以事半功倍?

TAG:Android應用 | Android開發 | Android | 綠色守護 | 黑域阻止運行 |