偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

谷歌也看不下去了!安卓?jī)?nèi)存巨大但為何還殺后臺(tái)

移動(dòng)開發(fā) Android
近日,安卓發(fā)起了一項(xiàng)針對(duì)安卓的調(diào)查——Google認(rèn)為很多OEM安卓機(jī)廠商,其推行的安卓系統(tǒng)存在嚴(yán)重的殺后臺(tái)問題,App難以在后臺(tái)存活。

[[414477]]

安卓是 Google 發(fā)起的,但現(xiàn)在安卓的一些行徑,連 Google 也看不下去了。近日,安卓發(fā)起了一項(xiàng)針對(duì)安卓的調(diào)查 ——Google 認(rèn)為很多 OEM 安卓機(jī)廠商,其推行的安卓系統(tǒng)存在嚴(yán)重的殺后臺(tái)問題,App 難以在后臺(tái)存活。

[[414478]]

Google 最近和一些安卓廠商不對(duì)付了

Google 認(rèn)為,現(xiàn)今很多 OEM 的安卓系統(tǒng)都違背了 Google 的政策,令 App 無法在后臺(tái)持續(xù)運(yùn)行。雖然大多數(shù)安卓應(yīng)用并不需要在后臺(tái)保留進(jìn)程,但也有部分類別的確有此類需求,例如健康記錄 App,需要持續(xù)記錄數(shù)據(jù)。然而,部分 OEM 安卓系統(tǒng)卻無法滿足此類需求,安卓開源項(xiàng)目 AOSP 的錯(cuò)誤跟蹤器就曾經(jīng)揭露出某些 OEM 廠商濫用安卓機(jī)制,禁止第三方應(yīng)用在后臺(tái)運(yùn)行,甚至還殺死了 AccessibilityService 這個(gè)系統(tǒng)級(jí)別的無障礙服務(wù)進(jìn)程。

Google 實(shí)際上為安卓系統(tǒng)制定了殺后臺(tái)的規(guī)則,但 OEM 廠商們卻在這方面并不透明,開發(fā)者和用戶無法知道 OEM 安卓到底會(huì)殺掉怎么樣的 App 后臺(tái)。有時(shí)候,OEM 安卓廠商會(huì)將某些 App 加入白名單,例如部分社交和通訊軟件,以確保消息的及時(shí)推送。但這些機(jī)制對(duì)于用戶和開發(fā)者來說,相當(dāng)于黑箱,人們無法判斷到底哪個(gè) App 能在后臺(tái)運(yùn)行、哪個(gè)不能,最終的體驗(yàn)并不如人意。

安卓基于 Linux 系統(tǒng),本身?yè)碛型晟频亩嗪笈_(tái)機(jī)制,在誕生之初其桌面級(jí)的“真后臺(tái)”是玩家津津樂道的賣點(diǎn)。近年來安卓機(jī)的內(nèi)存越來越大,甚至已經(jīng)堆到了 16G 的容量,和桌面 PC 相比也不遑多讓。但為何安卓生態(tài)中,殺后臺(tái)的現(xiàn)象反而變嚴(yán)重了?這就來簡(jiǎn)單聊聊這個(gè)問題吧。

為什么安卓系統(tǒng)要激進(jìn)殺后臺(tái)?

原生安卓系統(tǒng)支持 App 后臺(tái)保留進(jìn)程,但傳統(tǒng)上也有一套循序漸進(jìn)的后臺(tái)退出機(jī)制。在傳統(tǒng)上,安卓系統(tǒng)會(huì)為 App 進(jìn)程分配不同的狀態(tài),例如 Foreground_App(前臺(tái)應(yīng)用)、Visiable_App(可見應(yīng)用)、Secondary_App(二級(jí)應(yīng)用)、Hidden_App(隱藏應(yīng)用)、Content_Provider(內(nèi)容提供器)、Empty_App(空應(yīng)用)等狀態(tài)。當(dāng)內(nèi)存不足的時(shí)候,系統(tǒng)會(huì)優(yōu)先終止 Empty_App 進(jìn)程和服務(wù),將內(nèi)存釋放出去;內(nèi)存再次吃緊,就開始對(duì) Content_Provider 動(dòng)手腳了,以此類推。


安卓 App 不同的狀態(tài),系統(tǒng)會(huì)據(jù)此判斷殺進(jìn)程的優(yōu)先級(jí)

但是,并不是每個(gè) App 都老老實(shí)實(shí)為進(jìn)程注冊(cè)合理的狀態(tài)的。很多安卓 App 會(huì)通過一些手段,來修改自己進(jìn)程的屬性,來長(zhǎng)期駐留后臺(tái)。

例如,一些流氓 App 將 startForeground 來把自己注冊(cè)成為前臺(tái)應(yīng)用,讓自己的后臺(tái)成為最高優(yōu)先級(jí),永遠(yuǎn)不會(huì)被系統(tǒng)干掉;又例如,有流氓 App 會(huì)利用安卓的懸浮窗機(jī)制,設(shè)置一個(gè) 1 像素大小的透明懸浮窗,讓 App 始終處于激活狀態(tài),避免后臺(tái)被殺;又例如,流氓 App 們抱團(tuán)取暖,后臺(tái)進(jìn)程利用安卓系統(tǒng)的周期性任務(wù)進(jìn)行鏈?zhǔn)絾拘?,開啟一個(gè) App 等于喚醒 N 個(gè) App 的后臺(tái)……



流氓 App 駐留后臺(tái)的經(jīng)典方法 —— 利用廣播接收器觸發(fā)后臺(tái)自啟動(dòng)

App 們的這些行徑,消耗了額外的資源,對(duì)續(xù)航和流暢的負(fù)面影響肉眼可見。

為此,官方的安卓系統(tǒng)也作出了一些應(yīng)對(duì)。例如針對(duì) App 亂注冊(cè) startForeground 狀態(tài),安卓 7.0 之后會(huì)在通知欄強(qiáng)制顯示“XX 正在后臺(tái)運(yùn)行”;又例如安卓收緊了懸浮窗權(quán)限,使用懸浮窗必須開啟相應(yīng)開關(guān);而安卓 11 則很大程度上了 App 之間的鏈?zhǔn)絾拘训鹊取?/p>


安卓 7.0 對(duì)很多后臺(tái)運(yùn)行的 App 都在通知欄有公示,后來這些 App 不得不改變后臺(tái)駐留的方法

但道高一尺魔高一丈,安卓系統(tǒng)的很多限制后臺(tái)機(jī)制,需要 App 使用較高版本的 TargetAPI 才能生效,而大量 App 仍使用老舊的開發(fā)規(guī)范,但用戶卻不可能拋棄其中的很多 App。因此,App 強(qiáng)行駐留后臺(tái)的行徑,對(duì)于用戶的負(fù)面影響是實(shí)打?qū)嵉?,既?Google 官方安卓無法做到,那就只能由第三方安卓 ROM 來動(dòng)手了 —— 如果哪個(gè)牌子的安卓不做,就會(huì)在用戶中落下“又卡又熱又耗電”的壞口碑。

因此,OEM 安卓們殺后臺(tái),一個(gè)比一個(gè)狠。有其是在國(guó)內(nèi),一些安卓 ROM 甚至默認(rèn)定時(shí)殺后臺(tái),即使 RAM 資源充足,絕大部分 App 也無法保留后臺(tái)進(jìn)程。安卓 ROM 激進(jìn)殺后臺(tái)的風(fēng)氣,就此產(chǎn)生。

為什么 App 要強(qiáng)行駐留后臺(tái)?

安卓 ROM 激進(jìn)殺后臺(tái)是“果”,而 App 以各種行徑強(qiáng)行駐留后臺(tái)則是“因”。而這一切的“根”又是什么?恐怕和安卓的生態(tài)環(huán)境有關(guān)。

和蘋果不同,安卓最初并沒有提供 App 統(tǒng)一推送機(jī)制,這意味著每個(gè) App 如果需要接受后臺(tái)消息,那就需要自行駐留進(jìn)程,以隨時(shí)接收消息推送。不過這些年 Google 也對(duì)此作了改進(jìn),引入了 GCM/FCM 機(jī)制,App 可以調(diào)用 Google 服務(wù)框架 GMS,通過 Google 的服務(wù)器實(shí)現(xiàn)統(tǒng)一的消息轉(zhuǎn)發(fā),App 的消息推送可以由系統(tǒng)接管,整個(gè)過程 App 都無需保留后臺(tái),體驗(yàn)類似 iOS。


安卓上的 FCM 機(jī)制,類似于 iOS 的統(tǒng)一消息推送,但前提是系統(tǒng)和 App 接入 Google 服務(wù)

然而,這一套機(jī)制并非是強(qiáng)制性的,如果 App 不接入 GMS,甚至不上架 Google Play,那么完全可以無視這一切。而在以國(guó)內(nèi)為典型的應(yīng)用環(huán)境下,GMS 實(shí)際上并不可用,App 自行駐留進(jìn)程、接受消息推送就成為了必選項(xiàng)。

因此,國(guó)內(nèi)的安卓 App 使用了尤其多的手段,在安卓系統(tǒng)中駐留進(jìn)程,這實(shí)際上很大程度是不得已而為之,當(dāng)然也有商業(yè)上的考慮。而針對(duì)國(guó)內(nèi) App 種種駐留后臺(tái)的手段,國(guó)內(nèi)的安卓 ROM 為了保證續(xù)航和流暢,又不得不采取了更多的一刀切殺后臺(tái)手段,這就造成了現(xiàn)今的情況。

為什么 Google 要整治安卓 ROM 殺后臺(tái)?

安卓 ROM 整治了 App 后臺(tái)駐留,帶來了更好的續(xù)航和性能表現(xiàn)。然而對(duì)于用戶而言,這并不是體驗(yàn)的全部。很多用戶就遇到了這樣的情況 —— 使用某個(gè) App,例如音樂 App 聽歌,切到后臺(tái)一會(huì)兒,音樂就停了,因?yàn)橄到y(tǒng)把音樂 App 進(jìn)程給殺了。但用戶可不知道這是系統(tǒng)做的,只會(huì)認(rèn)為這是音樂 App 的毛病。一時(shí)間,這音樂 App 就榮獲差評(píng)。

Google 在 Play 商店中觀察到了不少這樣的差評(píng),而這顯然不是開發(fā)者的錯(cuò) —— 在 App 駐留后臺(tái)越來越卷的風(fēng)氣下,老老實(shí)實(shí)按照規(guī)范開發(fā)的 App,反而后臺(tái)更容易被系統(tǒng)強(qiáng)行中斷,反映在用戶實(shí)際體驗(yàn)上就是該 App 在后臺(tái)好端端就沒了,用戶覺得這 App 肯定有 Bug。


為了呼吁系統(tǒng)不要亂殺 App 后臺(tái),開發(fā)者們甚至還專門做了一個(gè)“求別殺我的 App”的 App

開發(fā)者無端背鍋,而這問題顯然又不是開發(fā)者能解決的。Google 不得已親自插手,來整治安卓 ROM 亂殺后臺(tái)的現(xiàn)象。

目前 Google 正邀請(qǐng)第三方應(yīng)用開發(fā)者提供反饋,想知道哪些手機(jī)品牌機(jī)型殺后臺(tái)嚴(yán)重,以便進(jìn)行更加深入的調(diào)查。

安卓廠商要如何應(yīng)對(duì)?

由于眾所周知的原因,Google 并不在國(guó)內(nèi)展開賬號(hào)相關(guān)的服務(wù),國(guó)內(nèi)的安卓生態(tài)是和 Google 脫節(jié)的。因此,對(duì)于 Google 的相關(guān)整治,應(yīng)該對(duì)國(guó)內(nèi)的安卓產(chǎn)品影響不大。

但是,也有不少國(guó)內(nèi)安卓廠商開展海外業(yè)務(wù),在海外市場(chǎng),Google 的話語權(quán)舉足輕重。Google 有可能對(duì)安卓廠商施加壓力,以讓安卓廠商改變系統(tǒng)的殺后臺(tái)策略。在這樣的背景下,國(guó)內(nèi)外的機(jī)型分別采用不同的殺后臺(tái)策略,就顯得很有必要了。在用于國(guó)外機(jī)型的國(guó)際版 ROM 中,安卓廠商應(yīng)該重視 Google 的意見,對(duì)殺后臺(tái)策略進(jìn)行一定程度的修改。

不過我們也要意識(shí)到,安卓 ROM 激進(jìn)殺后臺(tái)造成的負(fù)面體驗(yàn),在國(guó)內(nèi)也是存在的。但目前國(guó)內(nèi)的安卓生態(tài)迫使安卓廠商出此下策,要如何改變現(xiàn)狀?


統(tǒng)一推送聯(lián)盟有望從根源上解決系統(tǒng)殺后臺(tái)和 App 需要后臺(tái)保持推送服務(wù)的矛盾

這兩年,工信部聯(lián)合了主流安卓廠商,共同推進(jìn)統(tǒng)一推送聯(lián)盟。App 接入了相關(guān)體系后,即可實(shí)現(xiàn)系統(tǒng)級(jí)推送,無需駐留后臺(tái)也可以接收消息。統(tǒng)一推送服務(wù)需要安卓 ROM 和 App 同時(shí)支持,好消息是,目前統(tǒng)一推送服務(wù)已經(jīng)覆蓋了華為、OPPO、vivo、小米等多家國(guó)內(nèi)品牌,相關(guān)標(biāo)準(zhǔn)與成果也將納入中國(guó)信通院與中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)共建的“中國(guó)移動(dòng)基礎(chǔ)服務(wù)平臺(tái)”(China Mobile Service,CMS)的相關(guān)體系之中,并在 2021 年中國(guó)互聯(lián)網(wǎng)大會(huì)上正式發(fā)布。希望統(tǒng)一推送聯(lián)盟能一改國(guó)內(nèi) App 駐留后臺(tái)的風(fēng)氣,讓安卓 ROM 沒有激進(jìn)殺后臺(tái)的理由吧。

總結(jié)

總的來說,安卓 ROM 之所以如此激進(jìn)殺后臺(tái),是和安卓 App 的行徑息息相關(guān)的,而這一切的根源又是缺乏統(tǒng)一推送服務(wù)的安卓生態(tài)。隨著國(guó)外 Google 對(duì)安卓掌控力的加強(qiáng),以及國(guó)內(nèi)統(tǒng)一推送服務(wù)的普及,情況有望得到改觀,希望安卓 ROM 和 App 們未來能有更好的用戶體驗(yàn)吧。

 

責(zé)任編輯:姜華 來源: PConline原創(chuàng)
相關(guān)推薦

2015-05-08 07:36:36

Google App 云割據(jù)

2023-11-14 08:15:49

OptionalJava

2018-07-21 14:32:58

無限流量套餐網(wǎng)絡(luò)

2021-12-21 08:12:01

Web JavaScriptCSS

2025-02-03 00:00:10

2014-09-28 10:09:28

2023-02-12 19:40:17

2024-01-26 15:28:29

大模型MambaLeCun

2014-07-21 15:39:47

2013-11-08 17:33:52

2013-05-20 16:30:37

移動(dòng)應(yīng)用App推廣

2021-03-19 08:50:11

數(shù)據(jù)中臺(tái)業(yè)務(wù)中臺(tái)架構(gòu)

2023-05-05 10:28:47

2020-04-09 09:44:23

周鴻祎360草根

2013-09-16 17:02:04

2021-11-24 22:45:19

蘋果安卓手機(jī)

2011-09-15 09:05:11

java

2020-02-05 09:38:34

程序員技能開發(fā)者

2020-10-13 06:52:50

數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目

2019-06-13 16:30:37

代碼Java編程語言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)