日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

谷歌也看不下去了!安卓内存巨大但为何还杀后台

發(fā)布時(shí)間:2023/11/25 综合教程 45 生活家
生活随笔 收集整理的這篇文章主要介紹了 谷歌也看不下去了!安卓内存巨大但为何还杀后台 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

安卓是Google發(fā)起的,但現(xiàn)在安卓的一些行徑,連Google也看不下去了。

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


Google最近和一些安卓廠商不對付了

Google認(rèn)為,現(xiàn)今很多OEM的安卓系統(tǒng)都違背了Google的政策,令A(yù)pp無法在后臺持續(xù)運(yùn)行。

雖然大多數(shù)安卓應(yīng)用并不需要在后臺保留進(jìn)程,但也有部分類別的確有此類需求,例如健康記錄App,需要持續(xù)記錄數(shù)據(jù)。

然而,部分OEM安卓系統(tǒng)卻無法滿足此類需求,安卓開源項(xiàng)目AOSP的錯(cuò)誤跟蹤器就曾經(jīng)揭露出某些OEM廠商濫用安卓機(jī)制,禁止第三方應(yīng)用在后臺運(yùn)行,甚至還殺死了AccessibilityService這個(gè)系統(tǒng)級別的無障礙服務(wù)進(jìn)程。

Google實(shí)際上為安卓系統(tǒng)制定了殺后臺的規(guī)則,但OEM廠商們卻在這方面并不透明,開發(fā)者和用戶無法知道OEM安卓到底會殺掉怎么樣的App后臺。

有時(shí)候,OEM安卓廠商會將某些App加入白名單,例如部分社交和通訊軟件,以確保消息的及時(shí)推送。

但這些機(jī)制對于用戶和開發(fā)者來說,相當(dāng)于黑箱,人們無法判斷到底哪個(gè)App能在后臺運(yùn)行、哪個(gè)不能,最終的體驗(yàn)并不如人意。

安卓基于Linux系統(tǒng),本身擁有完善的多后臺機(jī)制,在誕生之初其桌面級的“真后臺”是玩家津津樂道的賣點(diǎn)。

近年來安卓機(jī)的內(nèi)存越來越大,甚至已經(jīng)堆到了16G的容量,和桌面PC相比也不遑多讓。但為何安卓生態(tài)中,殺后臺的現(xiàn)象反而變嚴(yán)重了?這就來簡單聊聊這個(gè)問題吧。

原生安卓系統(tǒng)支持App后臺保留進(jìn)程,但傳統(tǒng)上也有一套循序漸進(jìn)的后臺退出機(jī)制。在傳統(tǒng)上,安卓系統(tǒng)會為App進(jìn)程分配不同的狀態(tài),例如Foreground_App(前臺應(yīng)用)、Visiable_App(可見應(yīng)用)、Secondary_App(二級應(yīng)用)、Hidden_App(隱藏應(yīng)用)、Content_Provider(內(nèi)容提供器)、Empty_App(空應(yīng)用)等狀態(tài)。

當(dāng)內(nèi)存不足的時(shí)候,系統(tǒng)會優(yōu)先終止Empty_App進(jìn)程和服務(wù),將內(nèi)存釋放出去;內(nèi)存再次吃緊,就開始對Content_Provider動手腳了,以此類推。


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

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

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


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

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

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


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

但道高一尺魔高一丈,安卓系統(tǒng)的很多限制后臺機(jī)制,需要App使用較高版本的TargetAPI才能生效,而大量App仍使用老舊的開發(fā)規(guī)范,但用戶卻不可能拋棄其中的很多App。

因此,App強(qiáng)行駐留后臺的行徑,對于用戶的負(fù)面影響是實(shí)打?qū)嵉模热籊oogle官方安卓無法做到,那就只能由第三方安卓ROM來動手了——如果哪個(gè)牌子的安卓不做,就會在用戶中落下“又卡又熱又耗電”的壞口碑。

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

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

和蘋果不同,安卓最初并沒有提供App統(tǒng)一推送機(jī)制,這意味著每個(gè)App如果需要接受后臺消息,那就需要自行駐留進(jìn)程,以隨時(shí)接收消息推送。

不過這些年Google也對此作了改進(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都無需保留后臺,體驗(yàn)類似iOS。


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

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

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

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

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


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

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

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

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

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

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


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

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

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

總結(jié)

以上是生活随笔為你收集整理的谷歌也看不下去了!安卓内存巨大但为何还杀后台的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。