安卓13要遏制“殺後臺”,谷歌能管得住手機廠商嗎
如今Android手機似乎正在陷入一個怪圈,儘管記憶體變得越來越大,使得12GB記憶體逐漸普及、18GB記憶體也已出現,甚至於出現了虛擬記憶體技術,然而各大手機廠商的系統則在以更強的力度“殺後臺”。為此,在收到了越來越多開發者的投訴後,此前在2021年6月谷歌釋出了相關問卷,調查Android手機的“殺後臺”問題。
在一年後舉行的2022 I/O開發者大會上,谷歌方面再度表示正在努力從多個角度嘗試解決“殺後臺”的問題,並透露Android 13的AOSP原始碼中添加了對MGLRU(多頁面回收策略)的支援,而藉助MGLRU,在75%記憶體佔用時減少了85%的後臺誤殺情況。
早在2018年時,谷歌方面就收到了開發者關於OEM廠商隨意殺後臺的投訴,當時在AOSP上就已有開發者提交了OEM廠商濫用Android核心許可權、施行嚴苛後臺管控機制的文件。到了Android 11,谷歌在與海外網友交流時也曾強調,會遏制手機廠商隨意殺後臺的行為。
曾幾何時,“殺後臺”對於Android使用者來說是一個非常正面的詞彙,有的Android使用者會選擇用ROOT後安裝綠色守護等應用的方式,來實現更好的後臺管理,而具備自動清理後臺應用的功能也更是成為當時Android手機的標配。那麼為什麼遏制“殺後臺”會在Android 13中,成為谷歌方面宣稱的新功能呢?
其實,這是因為矯枉過正。在SoC功耗水平大幅度增長、5G基帶成為耗電大戶的情況下,智慧手機機身尺寸增長有極限、且消費者更加青睞輕薄的設計,都造成了手機廠商對於續航的極度關注,而強制關閉駐留在後臺的應用,來節約系統資源就成為了手機廠商提升效能與續航的法寶。
事實上,手機廠商也很無奈,如果允許應用長時間駐留後臺,就意味著功耗與效能開銷變大,此時使用者感知的結果,就是續航不夠,總是需要頻繁地充電、而且還可能會卡頓。
一旦手機給使用者帶來這種負反饋,也意味著產品口碑的下降,這在當下這個市場競爭已經極為充分的情況下無疑是不可接受的。所以不僅僅是國內手機廠商,就連海外廠商也在“殺後臺”這件事上一個賽一個嚴苛,甚至到了去年6月,有使用者發現某些OEM甚至強制關閉了無障礙服務AccessibilityService。
但實事求是的講,這“鍋”手機廠商最多隻能佔三分之一,另外三分之一則是谷歌在設計Android時埋下的伏筆。
眾所周知,谷歌為Android設計的記憶體回收機制,是隻有當系統回收了所有的快取後,發現依然不足以提供足夠的記憶體來維持系統和應用的流暢執行後,才會開始根據開啟順序強制關閉部分應用,將其所佔用的記憶體回收。與此同時,Android系統採用的後臺機制與iOS的“墓碑機制”不同,iOS是偽多工、而Android則是“真後臺”。
Android的這項設計也就意味著,開啟的應用越少系統的負載就越低,使用者的使用就越流暢。而Android與Windows儘管同為多工作業系統,但手機的螢幕顯然要遠小於PC,這就使得使用者同一時間最多隻會使用一兩個應用,此時更多的應用就必然要被放在後臺。
面對這一現實,手機廠商的解決方案就是將後臺殺乾淨,然後用LPDDR5記憶體、UFS 3.1儲存晶片等硬體升級,來降低使用者啟動應用的等待時間,達到與應用駐留後臺近似的效果。
“殺後臺”策略發展到現在,就出現了手機廠商遇到將“白名單”之外其他應用被移到後臺時乾脆就直接將其關閉,讓系統獲得最好的狀態,這也是當初Android手機“遊戲模式”的理論基礎。但問題是,手機廠商“殺後臺”的策略儘管把使用者服務周到了,卻全然不顧開發者的利益。
開發者需要應用駐留後臺,其實主要是為了“保活”。應用為了接受後臺訊息就需要自行駐留程序,以隨時接收訊息的推送,不然使用者就會出現總是收不到訊息的情況,使得體驗極為糟糕。例如有的應用在後臺掛著掛著就沒了,逼得使用者只能一遍又一遍地看APP的啟動頁廣告。久而久之,被迫頻繁看廣告的使用者自然就不幹了,所以也就有了工信部因“使用者反映強烈投訴較多”而對開屏廣告進行治理。而損失了部分廣告收入的開發者自然也會向谷歌方面投訴,要後者管一管手機廠商無腦殺後臺的操作。
當然,“殺後臺”之風愈演愈烈,最後三分之一的原因其實是出在開發者自己身上。由於Android生態的自由開放,在Android 8之前,使用者當時頭疼的並不是後臺應用被關閉、而是後臺“殺不盡”,彼時許多應用為了保活可謂是各出奇招,選擇用鏈式喚醒、隨意快取、強制自啟等方式紮根在後臺,直接導致Android背上了“卡頓”的名聲。
一句話,開發者和OEM廠商圍繞著“殺後臺”的矛盾,直接原因就是雙方的利益不一致,而且兩者之間很難形成利益共同體,少數形成利益共同體的應用也早就進入了手機廠商的白名單。沒錯,“殺後臺”之所以讓普通使用者感知不明顯,就是因為微信、QQ、微博、抖音、淘寶等日常開啟頻率較高的應用,幾乎個個都是手機廠商“白名單”的常客。
國內的Android開發者長期以來在開發應用時,首先需要思考的問題,就是“我的應用能像微信那樣一直在手機執行嗎?為什麼微信一直在手機後臺就能收到訊息”。畢竟不患寡而患不均,作為普通的Android開發者自然就會向谷歌方面投訴,不然就是永遠都無法在巨頭環伺下出頭。
那麼問題來了,谷歌在Android 13上推出的MGLRU(Multi-Generational Least Recently Used),真能改變手機廠商這種頻繁“殺後臺”的現狀嗎?從技術角度來看,谷歌方面是很有信心的。因為MGLRU是傳統記憶體管理演算法LRU(快取淘汰)的升級版,而LRU則是基於這樣的一種假設,即使用者長期不被使用的資料在未來被用到的機率也不大,所以當資料所佔記憶體達到一定閾值時,會移除掉最近最少使用的資料。
但LRU演算法的邏輯用在智慧手機上可能並不適用,畢竟應用被使用者掛在後臺時間的早晚與使用頻率並沒有太多關係。所以MGLRU的策略是將Android後臺應用分為幾組,每一組都是由上一組被使用的後臺應用組成,通過差分掃描來標記時間上存在較長的後臺應用,並最終計算出可以安全關閉的應用。根據谷歌方面的說法,MGLRU實現了在75%記憶體佔用時減少了85%的後臺誤殺情況。
然而MGLRU能夠起到的效果有多大,會不會改變手機廠商目前殺後臺政策,我們所持有的是相對悲觀的態度。畢竟Android的真後臺機制就代表著,殺後臺的強度越高手機處於低負載的時間就會越多,使用者感覺使用流暢的時間就越長。並且更為重要的一點是,應用被殺後臺並不會影響到手機廠商的利益,反正有白名單機制存在,真正的利益相關方早就被保護起來了。
因此在我們看來,或許只要手機廠商不再搞出強制關閉AccessibilityService服務這種違反相關條款的操作,谷歌其實是管不了手機廠商第三方ROM是不是會應用MGLRU這件事的。
【本文圖片來自網路】
本文來自微信公眾號 “三易生活”(ID:IT-3eLife) ,作者:三易菌,36氪經授權釋出。
- 寧德時代定增450億:高瓴認購30億,曾毓群仍控制23%股權
- 虛擬貨幣7個月蒸發2萬億美元,“馬斯克們”終結15萬人暴富夢
- 不愛喝水星人,喝水有多貴?
- 盲池基金“失寵”,專項基金“當立”?
- 番茄資本為什麼敢把雞蛋都放在一個籃子?
- 快狗打車為何急著IPO?
- 全球冰淇淋都在漲價,但我們為何“罵的更狠”?
- 一年近6萬家殺入換電賽道,這場新能源遊戲,是大玩家的角鬥場
- 年漲粉800萬,被唱衰的美妝賽道還能卷出新頂流?
- 研報淘金丨機械板塊強勢反彈30%,誰是下一個聞「機」起舞的10倍大牛股?
- 短影片挺進線上音樂腹地
- 焦慮的年輕人,開始逃離叫賣式直播間
- 英偉達:web3的機遇與隱憂
- 抖音與當代明誠:體育版權,向左或向右
- “不上課不考試,1500元包拿證”,誰在幫你填報高考志願?
- 品牌,來1TB反向傳播?
- 誰在A股重倉了比亞迪
- 36氪首發|新銳鞋服品牌「重新載入」獲得藍馳創投 3000 萬 Pre-A 輪融資,曾獲交個朋友投資
- 為什麼說 To B 是一個“老炮用新槍”的行業
- 請不要再捧殺新東方了