掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
Android 9.0 正式版已經(jīng)推送了兩月有余,盡管這一次很多非 Google 機(jī)型都借助 Project Treble ***時(shí)間吃上了「派」,但 9.0 的諸多 改動和新特性 對部分用戶而言還是有著不小的上手門檻和適應(yīng)難度,比如更加強(qiáng)力、但也略顯復(fù)雜的通知系統(tǒng)與勿擾模式,再比如擁有受限應(yīng)用、后臺檢查、待機(jī)應(yīng)用等多層機(jī)制的電源管理模式。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、桐柏網(wǎng)站維護(hù)、網(wǎng)站推廣。
如果你想要擁有***的續(xù)航時(shí)間卻不知該從何下手進(jìn)行應(yīng)用管理,今天這篇文章應(yīng)該能夠幫到你。
待機(jī)機(jī)制
你可能不知道的是,谷歌自 Android 6.0 時(shí)代就已經(jīng)為 Android 系統(tǒng)引入了待機(jī)(Standby)機(jī)制,這個機(jī)制通過推遲后臺網(wǎng)絡(luò)活動(比如獲取你不關(guān)心的資訊動態(tài))來盡可能地降低那些我們使用頻率較低的應(yīng)用的后臺電量消耗。
但這個待機(jī)機(jī)制長期一來卻被詬病為「雞肋」。
一方面,Android 系統(tǒng)并未向我們提供一個可交互的界面來對這個「使用頻率」進(jìn)行自定義,而這個待機(jī)機(jī)制本身對于「使用頻率較低」這個條件的判定規(guī)則過于寬松,待機(jī)機(jī)制的后臺活動限制可以輕松地被 BAT 三家的「毒瘤」應(yīng)用們破除;另一方面,和 Android 系統(tǒng)的其他省電機(jī)制(如 Doze)比起來,待機(jī)機(jī)制的限制力度也較低,最終達(dá)到的效果微乎其微。
Android 9.0 對待機(jī)機(jī)制進(jìn)行了優(yōu)化和改進(jìn):首先,待機(jī)機(jī)制從「使用頻率較低」這個較為模糊的概念范圍中跳了出來,進(jìn)而適用于所有應(yīng)用。
其次,新的待機(jī)機(jī)制引入了一個新的概念——應(yīng)用待機(jī)桶(App Standby Buckets),基于 AI 對我們?nèi)粘?yīng)用使用習(xí)慣的觀察和學(xué)習(xí),手機(jī)中的所有應(yīng)用都會被分配到不同的「桶」當(dāng)中去,這些「桶」包括:
「活躍」的應(yīng)用能夠***程度的利用到系統(tǒng)資源,「從未使用」則完全相反
這里需要大家額外注意的有這樣幾點(diǎn)。
其一,上面出現(xiàn)的應(yīng)用僅作為方便大家理解的例子,在實(shí)際使用中,哪些應(yīng)用該進(jìn)入哪個「桶」,都會根據(jù)個體的使用習(xí)慣而變——比如你的主要移動支付工具是微信,偶爾打開看看理財(cái)收益的支付寶,也許就會被放入「頻繁」甚至是「罕用」應(yīng)用當(dāng)中。
其二,如果你想進(jìn)一步了解「哪些『桶』有哪些具體的限制」這個問題,不妨參考下面這份由谷歌給出的示例表格:
谷歌給出的參考示例
其三,針對 9.0 之前用戶無法根據(jù)自身使用情況手動干預(yù)應(yīng)用待機(jī)機(jī)制的問題,谷歌在引入機(jī)器學(xué)習(xí)的同時(shí),也允許用戶在 開發(fā)者選項(xiàng)->待機(jī)應(yīng)用 設(shè)置中手動為每個應(yīng)用設(shè)定待機(jī)「桶」。
待機(jī)應(yīng)用所處位置
其四,考慮到某些應(yīng)用也許會通過頻繁發(fā)送通知與用戶進(jìn)行互動的方式來「?;睢梗茐摹笐?yīng)用待機(jī)桶」機(jī)制的設(shè)計(jì)目標(biāo),谷歌會在用戶頻繁消除某個應(yīng)用的通知時(shí)給出一鍵阻止該類通知的快捷操作,確保應(yīng)用活躍度判定的真實(shí)有效。
通知屏蔽提示
***,設(shè)備制造商可以在「應(yīng)用待機(jī)桶」這個機(jī)制的基礎(chǔ)上自行定制應(yīng)用的分配標(biāo)準(zhǔn),理想情況下,國內(nèi)定制 UI 中各類「省電精靈」和「安全助手」可以針對中國大陸特有的應(yīng)用生態(tài)環(huán)境對這個機(jī)制進(jìn)行適當(dāng)加強(qiáng);另外,原生 Android 9.0 默認(rèn)不會在手機(jī)充電時(shí)施加任何限制。
應(yīng)用限制
如何在「綠色守護(hù)」和「黑閾」這類應(yīng)用中做出抉擇,幾乎是每個剛剛轉(zhuǎn)入 Android 陣營的用戶都會糾結(jié)的一個問題,而每次向 @Clyde 問起類似的問題,他總會跟我瞎吹說「『奧利奧』集成了一個『黑閾』,還要什么優(yōu)化應(yīng)用?」
這句話其實(shí)有一定道理:谷歌自 Android Oreo 開始引入了一個名為「后臺檢查」的功能,可以在部分應(yīng)用的 應(yīng)用信息->電池 中手動開啟,開啟后,目標(biāo)應(yīng)用的相關(guān)服務(wù)(如 widget 刷新、通知推送等)在放入后臺 1 分鐘后便會直接停止。
后臺檢查功能設(shè)計(jì)之初雖然針對 API 26 以下(即沒有適配更高版本系統(tǒng))的應(yīng)用,國內(nèi)的「毒瘤」應(yīng)用也大多滿足這個條件,但它們?nèi)匀豢梢酝ㄟ^上面提到的頻繁發(fā)送通知這樣的方式實(shí)現(xiàn)「?;睢?,同時(shí),后臺檢查功能的限制范圍不包括定時(shí)喚醒和任務(wù)調(diào)度周期。
用一句話來總結(jié)這個功能就是:后臺檢查雖然將躲在幕后的隱性機(jī)制變成了實(shí)實(shí)在在可操作的開關(guān),但依然不夠強(qiáng)力。因而在 Android 9.0 中我們會發(fā)現(xiàn),應(yīng)用信息里原有的后臺檢查功能已經(jīng)被一個名為「應(yīng)用限制(Restrict app)」的功能所取代。
嘗試為餓了么開啟后臺限制(即應(yīng)用限制)
應(yīng)用限制與后臺檢查一脈相承但要更進(jìn)一步,有著更廣的適用范圍和更強(qiáng)力的限制手段。
適用范圍上,Android Oreo 中的后臺檢查只針對 API 26 以下應(yīng)用,而 Android Pie 的應(yīng)用限制面向系統(tǒng)中所有已安裝應(yīng)用;限制手段上,和本文***部分所介紹的「應(yīng)用待機(jī)桶」更多地采用延后、推遲等手段來節(jié)省系統(tǒng)資源的方法不同,當(dāng)我們?yōu)槟晨顟?yīng)用開啟了應(yīng)用限制,這款應(yīng)用的所有后臺運(yùn)行活動、聯(lián)網(wǎng)請求和相關(guān)服務(wù)都將被系統(tǒng)強(qiáng)制忽略。當(dāng)一款被限制的應(yīng)用放入后臺運(yùn)行時(shí),它只能通過 Android 平臺的統(tǒng)一推送(FCM)與我們進(jìn)行互動。
應(yīng)用限制 vs. 后臺檢查
兩個機(jī)制前者相對溫和,后者更為激進(jìn)。排除一味殺應(yīng)用的粗暴做法,而是選擇精細(xì)地限制應(yīng)用運(yùn)行的機(jī)會和資源,既可以由系統(tǒng)自動化建議和執(zhí)行,也可以由用戶自行設(shè)立限制,二者相輔相成,基本上可以治理好一些常見的「毒瘤」應(yīng)用。
關(guān)于「省電模式」
除了是一個內(nèi)核玩家,我同時(shí)也是一個 iOS 用戶,iOS 的低電量模式在限制后臺活動刷新外,還會大幅降頻 CPU, 能讓手機(jī)的續(xù)航增色不少;但是 Android 上面的省電模式采用了不同的策略——它并沒有降頻 CPU 或犧牲性能,而是采用限制后臺活動、關(guān)閉動畫(我不太理解為什么 iOS 的低電量模式不關(guān)閉動畫來省電)的方式,并在狀態(tài)欄和導(dǎo)航欄用醒目刺眼的紅色來警示用戶少玩手機(jī)。
Android 9.0 上的省電模式的策略有所調(diào)整:不降頻 CPU、不關(guān)閉動畫、不用紅色警示你,同時(shí)大幅削弱應(yīng)用的后臺活動。
Android 9.0 的省電模式
這里的「大幅削弱應(yīng)用的后臺活動」主要體現(xiàn)在以下幾個方面:
小結(jié)
回到文章開頭提到的問題:想要在 Android 9.0 上獲得***的續(xù)航時(shí)間究竟該從何下手呢?
從用戶的角度出發(fā),我們需要做的其實(shí)并不多,因?yàn)榇蟛糠纸y(tǒng)計(jì)、檢測、判斷的任務(wù)其實(shí)都可以交給機(jī)器學(xué)習(xí)來完成,我們只需要像往常一樣使用應(yīng)用就行了,不用過多操心。如果你真的想幫它一點(diǎn)忙,或?qū)δ承付玖觥共惶判?,也可以做這些事:

我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流