如何阻止Google Apps在Android後臺耗電?

投稿發表於2015-03-22

一直以為國內的應用流氓,沒想到最霸道最流氓的是Google。不管你如何在賬戶設定裡面取消同步,或者在應用裡面取消同步或者通知項,甚至用“禁用服務”,綠色守護禁止同步相關App的服務。Google service還是照樣再後臺同步。

問題是,如果沒有翻牆,同步就會拿著鎖,掛在那裡。這樣會導致系統完全沒法睡眠,1個小時能消耗10%的電能,而且手機會明顯發熱。

如果手工把Google應用殺掉,沒有人後臺偷偷同步,飛航模式下,1個小時只消耗0.5%的電量。雖然這個結果依舊不太理想,但這已經是在不對Kernel做任何修改下,能達到的最低待機功耗了。

本人用的手機One Plus,16G版本,聯通3G,ROM:CM11S33R。

本文僅針對牆內使用了Google Service,並且不需要GCM推送和Google自動同步的情況,以及需要禁止Google服務在重啟手機之後自動啟動的情況。

NNA

請自動忽略圖片上的時間戳,因為這個問題除錯了很久,不是一次截的圖。

  1. 親測Google的賬戶同步功能沒法“徹底”清除。你可以在“設定”->“賬戶”中,取消勾選,但是霸道的GooglePlay服務在手機重啟後也會執行,比如Checkin Service會長時間拿鎖,網路條件不能翻牆的情況下,會導致你永遠睡不下去。NNA即便如此,取消Google自動同步也是必要的,必須改成手動。下面是操作方法:很多同步相關的配置在獨立的應用之中;如果你希望手動同步,首先應該在應用裡面勾除同步或者通知的選項,然後刪除不用的Google原生APP。注意,只有為數幾個可以刪除(文字轉語音翻譯,街景,MAP,TAGS, Voice+)。
  2. 禁止Google App所有軟體的自動啟動。Google App並非系統元件,沒有它們,系統照樣正常執行。啟動任意一款Google App,Google Framework和Google Play service都會自動啟動,不用擔心彈出意外停止通知。很多軟體都可以做到,比如LBE安全大師,Autostarts。
  3. 禁止Google App保持喚醒。方案很多,Google Play有Wakelock Terminator(需購買),Xposed Framework有Pre App Hacking。我用的CM11S Kitkat 4.4.4,內建了AppOps。 設定->隱私->隱私防護,開啟選項,勾選“顯示內建應用”,點選“高階”。NNA把有喚醒嫌疑的軟體的屬性給改了。“保持喚醒狀態”,建議設成“總是詢問”或者”拒絕”。注意,Location service也是拿鎖的大戶,也要禁止它保持喚醒。
  4. 綠色化所有Google App,這是最關鍵的步奏。需要3個軟體,Greenify,Greenify捐獻包(請購買正版),Wakelock detector。 我個人的經驗,直接在Greenify裡綠色化Google App不是很直接,因為你看不到哪些App拿住了鎖,導致系統不睡。所以最好是配合Wakelock Detector,這樣你可以看著哪些App拿鎖了,拿了多長時間,然後,直接點選Greenify圖示就可以幹掉這個Google App。 下面是演示Greenify按鈕的例子。NNA
  5. 開機後,或者使用完Google App後,用Greenify的立刻休眠,幹掉後臺Google服務。注意,需要購買捐助包,因為Google都是system下的應用。仔細看下面的圖,Google的App建議要選擇“休眠時無視狀態”,Greenify會自動提示你的。建議使用Tasker建立任務,在開機20秒後,自動執行“立刻休眠”。NNA現在最新版本的Greenify已經支援Tasker對任意的App休眠了,使用者可以根據自己的需要設計休眠任務。 最後,試試效果,長時間的睡眠也沒有問題。NNA

總結:在Google上搜尋“Google app battery drain”,可以搜到很多類似的問題,其中也有回答:比如:

  • 用Wakelock Terminator,或者Pre App Hacking禁止App獲取Wakelock,看似可行,實際沒有效果,因為他們針對的是具體的App(比如有圖示),有些Wakelock沒法在這些應用中找到,所以,這類軟體沒有效果。
  • NlpUnbounce這個用於改善自動同步模式下的Google Service,如果沒有GFW,這個可能會有效果。對於牆內,自動同步的實際效果不如手動同步划算,至少對本人如此。

從我實際操作的結果來看,這些方案的效果不及我的好使。

相關文章