安卓系統最大的問題,就是系統卡頓。
一部手機,尤其是被用過一年之后,往往會變得越來越卡,卡到APP半天打不開;卡到好不容易打開APP,操作兩下又死機了;卡到要經常重啟才能緩解卡頓;卡到手機發燙,讓人時刻擔心手機會爆炸……
有時候卡起來,真能急死人。
卡頓問題人神共憤,消費者受不了,手機廠商也愁到頭大。為了解決卡頓問題,安卓手機廠商們使出了渾身解數,一方面不斷加大手機運行內存——2GB、4GB、8GB、12GB;另一方面,對于頻繁自啟動的部分應用,采用了“殺后臺”的處理方式,以此減少內存占用。
應用開發者當然不想自己軟件的后臺進程被無端“殺掉”,有的會利用安卓的懸浮窗機制,在用戶關閉應用時縮小到某個角落,以此保持在線進程;還有的會抱團取暖,利用安卓的“廣播接收器”鏈式觸發后臺自啟動。
廣播接收器是系統響應應用需求的一種機制。
另外,手機廠商往往自己還有一些預裝的APP,會提前設置在系統白名單里,防止被殺后臺。這就是安卓手機內存越做越大卻依然越來越卡的原因。
這種僵局,只能使得手機廠商更加激進地實行殺后臺策略,但這就導致一些用戶使用軟件的進程會被惡意中斷。
我們常常能遇到如下場景——
當你正在打著一盤游戲,這時領導在工作群發通知,你趕緊點開群回復“收到”,結果返回后發現游戲被殺后臺了,要重新進入,此時你的心情必如一片荒原,荒原之上是一萬頭羊駝在奔騰,前方則是一道深淵,深淵的底部赫然寫著一行大字——“換手機吧”。
想象一下,游戲到緊要關頭,結果因為回復一條信息就被殺后臺……
當你安裝了一款睡眠監測APP,想監測一下自己的睡眠質量、知道自己晚上夢話說了什么,結果第二天起床一看,因為息屏,監測APP被殺后臺了,啥也沒監測到。
如果說上述需求屬于“不痛不癢”的量級,算得上還可以忍受,那么對于視力障礙者來說,就是忍無可忍了。據雷科技報道,2018年就有開發者吐槽說,自己開發的無障礙應用經常被系統無端殺后臺,而這些應用原本需要在后臺靜默運行,才能幫助視障者讀屏操作手機。
無障礙應用都被殺后臺,這讓視障者如何是好?
與安卓相對,蘋果的處理方式干脆利索,因為蘋果壓根就沒有“后臺”,所以自然也不會存在后臺應用過多導致系統卡頓的問題。
沒有后臺的蘋果,又是如何做到多應用切換時能調取離開應用前的界面呢?這就是蘋果“墓碑”機制的作用,蘋果在應用被切換之前會截取留存切換時的頁面,在用戶返回時還原到原有界面即可。雖然真實過程比這個復雜得多,但基本原理大致如此。
蘋果的流暢性,安卓的確比不來。
安卓原本就是基于Linux系統改造的多后臺處理系統,如果引入“墓碑”機制會有許多技術難題。但作為安卓的開發者,谷歌自然也不會坐看安卓如此墮落。
5月11日,谷歌將會舉行“I/O大會”,屆時谷歌將會發布最新版操作系統Android 13。據XDA報道,谷歌為Android 13內核添加了一段與內存、多任務優化有關的代碼,主要涉及MGLRU(Multi-Generational Least Recently Used),即多頁面回收策略。
MGLRU已經在Chrome OS上測試過,現在要應用到Android 13。
根據谷歌測試,借助MGLRU,kswapd CPU使用率降低了40%(kswapd是管理虛擬內存的進程)。此外,在75%內存占用時減少了85%的后臺誤殺情況,在50%的內存占用時降低了18%的渲染延遲。
也就是說,MGLRU將同時解決殺后臺和系統卡頓兩大關鍵問題,有利于提高系統流暢性的同時增強應用的后臺體驗。
看來,安卓手機也要像蘋果手機一樣快到飛起了,你期待嗎?
凡注有"環球傳媒網"或電頭為"環球傳媒網"的稿件,均為環球傳媒網獨家版權所有,未經許可不得轉載或鏡像;授權轉載必須注明來源為"環球傳媒網",并保留"環球傳媒網"的電頭。