微信需不需要允許自啟動;微信需要自啟動權限嗎
作為一個觀察者經歷者,而不是一個專業的開發者,我只能通過一個相對專業的用戶視角為你解答。
- 幾乎單任務的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會被更少的進行后臺限制,應用可以實時在后臺刷新最新狀態,并呈現在包括全天候顯示狀態下的鎖屏、靈動島等位置上。
?
?
華為也在最新的Harmony OS 4.0中加入了理念相似的“實況窗”功能。
?
回顧主流移動操作系統的后臺多任務發展歷程,我們會發現Android和iOS是相互奔赴和借鑒的,iOS早期完全封閉,逐漸越來越開放,現在也不算嚴格的墓碑機制;Android早期完全開放,卻逐漸趨于嚴格管理,極致情況下也成了iOS那樣的墓碑機制。
沒有一種機制是絕對完美的,用Android的朋友羨慕iOS生態嚴格管理、應用高質量;iOS的朋友羨慕Android的開放自由后臺,后臺打開微信從來不用“加載中”……
展望未來,iOS和Android都在探索一種更加優雅和智能的后臺管理方式,只是實現方式不同。