爲什麼安卓不採用和蘋果一樣的墓碑機制?淺談iOS與Android後臺史

作爲一個觀察者經歷者,而不是一個專業的開發者,我只能通過一個相對專業的用戶視角爲你解答。

早期

幾乎單任務的iOS

其實在iOS和Android發展的早期,正如提問問題所說,早期iOS的後臺管理機制十分嚴格,甚至iOS 4之前完全不開放給第三方,僅提供給系統原生的通話、錄音、音樂等進程,這個階段我們不嚴謹的、大概的可以稱之爲單任務系統;

放任不管的多任務Android

而早期Android則十分寬鬆,應用幾乎是想掛後臺就可以掛,原生甚至沒有提供開放給用戶的任務管理UI和切換方式,從Android 2.3那個年代過來的朋友應該知道,當時甚至還需要自己裝一些第三方的任務管理器app。


發展

iOS 4墓碑多任務,Android 4.0引入多任務管理

隨着應用更多可能性的百花齊放,以RAM內存爲代表的手機硬件開始躍進,這時用戶、App都有更多的多任務需求了。因此,無論是iOS 4(2010年)還是Android 4.0(2011年),都出現了系統原生的多任務管理,iOS 4是通過雙擊home鍵呼出,Android 4.0通過單獨的多任務鍵。這二者都更多的以“最近使用的任務”,而不是“任務管理器”形式出現。

這也就能解釋原生Android 4.0和iOS 4都沒有“一鍵清理”,Android 4.0是通過比較隱蔽的“滑動任務”去關閉的,iOS 4則是通過“長按後臺應用圖標”-“點擊左上角(-)關閉按鍵”。

從這個命名和操作邏輯,其實就可以看出,這個階段其實不太提倡用戶進行手動管理的。

隨後在國內安卓這邊,出現了一些變化。

一是在2014年前後那會,提供Android系統內互聯網服務的Google,在大陸境內出現無法訪問的情形,讓大陸地區的安卓生態逐漸更加獨立;

二是底層十分開放的特性,讓應用可以輕易獲得自啓動、相互喚醒的權限,與此同時還有各種隱私權限齊唱“我家大門常打開”;

前者,谷歌原本在Google Mobile Service谷歌基礎服務中提供的Google Play應用市場無法使用。這就冒出、強大了一大堆以豌豆莢、91手機助手、應用寶、360手機助手爲代表的應用分發服務,應用不再需要經過谷歌的嚴格審覈,上架國內分發渠道審覈很鬆;

谷歌的Firebase Cloud Messaging (FCM) 統一推送服務在國內無法繼續使用,會造成應用關閉後收不到推送消息的情況。

由於無法使用統一的FCM,個推等應用推送服務出現壯大,但每一家都需要在後臺駐留保活一個進程才能實現及時推送。

後者,且可以輕易獲得後臺自啓動、應用相互喚醒權限,在國內的安卓用戶就“有福受”了:即使用戶在多任務管理中手動關閉應用,爲了保活,應用還是會孜孜不倦的在後臺啓動,不同應用還會“結盟”互相喚醒,在後臺常常呈現“你方唱罷我登場”的態勢。這讓國內安卓生態混亂了許多。

作爲對比,iOS有統一的Apple Push Notification service(APNs)蘋果推送服務、審覈嚴格的App Store和只允許短暫或特殊情況的後臺任務管理。

在那個年代,也就給很多用戶樹立了一種蘋果雖然RAM內存不大、“墓碑假後臺”,但後臺嚴格管理,不卡頓;安卓雖然更大RAM內存、真後臺多任務,但根本沒人能管住,開機時間長了就被佔滿,各種自啓喚醒、嚴重卡頓。

後期

國產廠商和谷歌鎮壓後臺

既然App不講武德,國內安卓手機廠商當然不會放任。2013年,以小米的MIUI V5系統爲代表,一個接一個的國產安卓定製系統開始嚴加管控後臺和喚醒權限。

此後幾年,這成爲了一個大趨勢。最極端的情況下,在部分國產安卓系統上的後臺管理策略約等於蘋果的墓碑機制了。比如,Flyme直接明確了“待機三分鐘自動清理後臺”。

同時,除了必要的喚醒,全部一刀切禁止掉自啓動和相互喚醒。

可是,墓碑機制是建立在蘋果有APNs的情況下,那國產廠商在沒有FCM的情況下效仿,如何保證消息送達?

正如之前手機裏跑着的各種國內第三方推送服務,這次,只要軟件廠商接入後,手機廠商統一成一個保留運行就好了——小米手機只留小米,魅族手機只留魅族,OPPO、vivo、華爲同理。



極端情況就是應用不接入手機廠商推送服務:一種是應用“厲害”,比如我們全世界最優秀的產品經理、只向蘋果APNs和谷歌FCM低頭,而不鳥國產的微信張小龍。

這種情況下,華米ov都單獨得給微信這種app開“特權”,默認不限制微信後臺、允許微信隨意自啓動;

一種是在大陸水土不服、也不是那麼在乎大陸的廠商,比如索尼。

那應用本來是真·小而美,或者手機廠商沒有提供推送服務,那就只能用戶自己給開白名單,或者應用自己自求多福——所以會出現用戶點開一個app後纔會蹦出一堆消息的情況,平時不開啓應用就完全沒消息。

中國互聯網軟件廠商影響力越來越大——國際上也出現各種流氓自啓動等騷操作、中國手機廠商影響力越來越大——嚴格的後臺策略也逐漸被谷歌納入原生Android系統設計規範中。

這樣一番“鎮壓”操作下來,大家也確實發現安卓手機更省電了、更流暢了、越來越好用了——除了極少的極端情況下,不過即使強如蘋果也會漏推送。

不過有一點是,早期安卓的“殺後臺”確實簡單粗暴,不會像“墓碑後臺”一樣記住你上一次打開的頁面,因此早期機制策略不完善那會兒,安卓會丟失上一次應用進度。

蘋果逐漸開放一定權限

在這幾年中,被用戶吐槽嚴格封閉的蘋果也在做出改變:iOS 7中,後臺多任務頁面也被改爲了卡片式,上滑卡片即可關閉。

而在表象之下,iOS 7迎來了“更真”的後臺。

部分被允許“後臺應用程序刷新”權限的應用,可以得到更多的後臺權限。

打個比方,比如微信原來收到推送,點開還要收取15秒消息,那麼iOS 7開啓權限之後,收到推送時就會開始收取,點開時已經收取完成了。(本例子只是打比方,不代表張小龍真有)

現狀

安卓在殺後臺和保後臺之間平衡

在人工智能、機器學習算法的介入下,安卓廠商設計了更加智能的後臺機制。

比如魅族會起名叫OneMind技術,能夠更優雅的平衡“殺後臺”和“保後臺“,知道誰該殺,誰不該殺。即使殺掉,安卓廠商也逐漸都能保留上一次App的進度了。

Android從底層也開始借鑑iOS的墓碑機制。比如,在比較新版本的Android開發者選項中,可以看到“暫停執行已緩存的應用”,這個描述就很墓碑。

前不久,小龍的兄弟QQ也接入了華爲、小米、vivo等國產廠商的推送服務,希望小龍儘快吧。

同時,隨着安卓陣營不斷堆料硬件,用戶也不少吐槽應用後臺留存的問題。

於是,像是剛剛發佈的Redmi K60至尊版、一加Ace 2 Pro這樣的國產安卓手機,已經將RAM內存加到了最高24 GB的水平,後臺甚至可以保證留存七八十個app了。而12 GB機型,在2023年也還足夠大部分普通用戶使用。


蘋果引入靈動島實時活動,區分應用後臺狀態

在去年WWDC 2022上,蘋果發佈了iOS 16。其中,一個叫實時活動的新功能,我們可以視爲蘋果對“後臺”的全新認識。實時活動狀態的App,有4種狀態:等待中/進行中/成功/失敗。狀態中的App會被更少的進行後臺限制,應用可以實時在後臺刷新最新狀態,並呈現在包括全天候顯示狀態下的鎖屏、靈動島等位置上。

編輯添加圖片註釋,不超過 140 字(可選)

編輯添加圖片註釋,不超過 140 字(可選)

華爲也在最新的Harmony OS 4.0中加入了理念相似的“實況窗”功能。


總結:開放與封閉的相互奔赴

回顧主流移動操作系統的後臺多任務發展歷程,我們會發現Android和iOS是相互奔赴和借鑑的,iOS早期完全封閉,逐漸越來越開放,現在也不算嚴格的墓碑機制;Android早期完全開放,卻逐漸趨於嚴格管理,極致情況下也成了iOS那樣的墓碑機制。

沒有一種機制是絕對完美的,用Android的朋友羨慕iOS生態嚴格管理、應用高質量;iOS的朋友羨慕Android的開放自由後臺,後臺打開微信從來不用“加載中”……

展望未來,iOS和Android都在探索一種更加優雅和智能的後臺管理方式,只是實現方式不同。

更多遊戲資訊請關註:電玩幫遊戲資訊專區

電玩幫圖文攻略 www.vgover.com