在手機圈,有個怪象,
安卓手機的後臺一直比不上iOS。
在使用中,
安卓手機的後臺卻頻繁被殺,
而iPhone的表現就好很多,
要知道,
安卓手機已經來到了12G RAM的記憶體,
最新的iPhone 11 Pro Max可是才4G,
簡直不給安卓手機面子。
好學好問的小夥伴可能有點奇怪了,
為什麼安卓那麼大的記憶體,
後臺管理上卻還是比不上iOS?
我們來看看安卓的後臺管理機制。
在安卓系統裡,
有個叫Low Memory Killer(LMK)的審判員,
當手機記憶體不足時,
LMK就會對特定的後臺程序進行回收釋放記憶體。
慢著,現在的安卓手機,
6G記憶體、8G記憶體都已經那麼普遍了,
甚至12G的記憶體也很多。
記憶體還會不足嗎?
這裡需要談到程序。
程序一般分為服務程序、可見程序、前臺程序和快取程序。
像服務程序、可見程序和前臺程序,
這些後臺往往與我們正在執行的操作相關,
比如後臺下載、設定鬧鐘、我們正在使用的應用,
LMK一般不會動這些程序。
LMK需要動的是快取程序。
快取程序是安卓系統為了提高應用間的切換效率,
比如看視訊的時候或者玩遊戲的時候,
這種情況就會在執行記憶體中暫存多個快取程序,
以供系統隨時呼叫。
而谷歌作為安卓的爸爸,
也為安卓提供了一套非常理想的後臺管理機制,
在手機記憶體不足時,
會優先釋放快取程序,
不影響使用者正在執行的操作。
而這也僅僅是理想,
放在國內,
LMK失效了,
會對服務程序、可見程序和前臺程序下手,
直觀的感受就是下載中斷,
音樂暫停,應用重新載入,
也就是後臺被殺了。
為什麼國內的安卓系統達不到谷歌理想化的安卓系統?
根本原因還是因為缺失了谷歌服務,
在海外,
只要遵從了安卓設計規範的APP,
使用者收到訊息的流程是這樣的:
APP訊息——FCM(谷歌推送服務)——使用者裝置,
在這個過程中,
APP不需要啟動,
只要通過谷歌伺服器,
就可以將資料資訊傳送給使用者裝置。
但是國內沒有谷歌服務,
使用者收到訊息的流程就會變成這樣:
APP訊息——APP自身伺服器推送——使用者裝置。
這個過程中,
要想接收到訊息,APP就必須啟動,
而且啟動就啟動,通常還會獲取各種資訊,
像是定位、號碼、通話記錄等等,
造成手機卡頓耗電,隱私也容易洩露。
手機廠商肯定不能放任這個問題不管,
消費者可不管你原因,
手機卡頓和耗電就算你的。
為了解決谷歌服務缺失這個問題,
安卓廠商對安卓系統進行了魔改,
根據谷歌推出的後臺管理機制進行魔改,
從而控制應用自啟動,
這樣一來,
應用亂啟動的問題也就解決了。
但一不小心就用力過度,
大部分魔改過的安卓系統,
只要應用沒有加入系統白名單中,
不管你多大的記憶體,
很大機率都會被系統殺掉。
這也是為什麼安卓執行記憶體越來越大,
但殺後臺現象還時有發生的原因,
這也是廠商無奈,
國內安卓APP亂象太嚴重,
控制力度不嚴格,
應用可能就會無限自啟,
一不小心還給你個全家桶。
在iOS 7之前,
蘋果的後臺管理一直實行“墓碑機制”,
在退出應用程式時,
系統會記錄下當前應用程式的狀態,
(就像是把事件記錄在墓碑上一樣)
當需要恢復後臺時,
應用可以回到退出前的狀態。
這種後臺管理機制,
儲存的只是應用的上下文資料,
應用本身已經退出,
應用佔用記憶體空間十分小,
至於訊息推送,
iOS中也有類似於谷歌服務的存在。
但這種後臺管理機制也有缺點,
再次開啟應用時需要載入時間,
因此iOS引入了後臺應用重新整理。
在退出應用後,
允許APP根據使用者習慣,
在一定的場景下被後臺智慧喚醒。
比如習慣性在早上開啟新聞APP,
那麼這段時間內,
退出的新聞APP很有可能也不會被殺掉後臺。
但是在最新的iOS 13中,
蘋果進一步完善了這種後臺管理機制,
後臺管理更加智慧,
只會在需要的時候喚醒APP。
因此蘋果後臺管理的祕訣在於,
墓碑機制+智慧後臺管理+系統級的訊息推送,
一半的記憶體就可以做到比安卓手機更強大的後臺管理。
好訊息是安卓也有了一些改進,
國內方面,
成立了安卓統一推送聯盟,
替代缺失的谷歌服務,
從應用自啟上踏出了第一步。
谷歌方面,
也有所動作,
據 The Verge 訊息,
針對iPhone 只需要安卓手機一半的記憶體空間,
就可以出色地完成各項後臺任務的這一情況,
谷歌將在月底推出新的記憶體管理機制。
雖然具體細節官方還沒有公佈,
但意識到與iOS差距的谷歌,
一定會在記憶體管理上帶來更好的改進,
一旦谷歌解決了記憶體管理的問題,
全新的安卓也許真的可以到來。
最後...呃……
好像上個版本,
谷歌也是這麼說的。
(手動滑稽)
所以有生之年,
你們說能看到安卓真的看齊iOS嗎?
- 谷歌突然宣佈新規:安卓內購抽取30%,此舉將影響全球20億人
- 安卓11來了,感受一下
- Android 11 首個測試版來了,這些新細節讓你的手機更好用
- 快手海外Zynn登頂美榜後被Google下架 近期新增被封殺出海App盤點
- Android 11 beta 已正式上線
- 跨平臺開發Android、ios、小程式都能執行,一套程式碼多端執行
- Android 11 最強功能!谷歌移除最大 4GB 限制,32 位弊端終結了
- 還在為開發app困擾嗎,Flutter一鍵開發多端H5/Android/iOS/桌面
- uni-app全域性變數實現方式,安卓,ios跨平臺
- 安卓11嚐鮮版正式釋出:三大核心新功能叫板蘋果iOS 14