成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

谷歌也看不下去了!安卓內存巨大但為何還殺后臺

移動開發 Android
近日,安卓發起了一項針對安卓的調查——Google認為很多OEM安卓機廠商,其推行的安卓系統存在嚴重的殺后臺問題,App難以在后臺存活。

[[414477]]

安卓是 Google 發起的,但現在安卓的一些行徑,連 Google 也看不下去了。近日,安卓發起了一項針對安卓的調查 ——Google 認為很多 OEM 安卓機廠商,其推行的安卓系統存在嚴重的殺后臺問題,App 難以在后臺存活。

[[414478]]

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

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

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

安卓基于 Linux 系統,本身擁有完善的多后臺機制,在誕生之初其桌面級的“真后臺”是玩家津津樂道的賣點。近年來安卓機的內存越來越大,甚至已經堆到了 16G 的容量,和桌面 PC 相比也不遑多讓。但為何安卓生態中,殺后臺的現象反而變嚴重了?這就來簡單聊聊這個問題吧。

為什么安卓系統要激進殺后臺?

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


安卓 App 不同的狀態,系統會據此判斷殺進程的優先級

但是,并不是每個 App 都老老實實為進程注冊合理的狀態的。很多安卓 App 會通過一些手段,來修改自己進程的屬性,來長期駐留后臺。

例如,一些流氓 App 將 startForeground 來把自己注冊成為前臺應用,讓自己的后臺成為最高優先級,永遠不會被系統干掉;又例如,有流氓 App 會利用安卓的懸浮窗機制,設置一個 1 像素大小的透明懸浮窗,讓 App 始終處于激活狀態,避免后臺被殺;又例如,流氓 App 們抱團取暖,后臺進程利用安卓系統的周期性任務進行鏈式喚醒,開啟一個 App 等于喚醒 N 個 App 的后臺……



流氓 App 駐留后臺的經典方法 —— 利用廣播接收器觸發后臺自啟動

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

為此,官方的安卓系統也作出了一些應對。例如針對 App 亂注冊 startForeground 狀態,安卓 7.0 之后會在通知欄強制顯示“XX 正在后臺運行”;又例如安卓收緊了懸浮窗權限,使用懸浮窗必須開啟相應開關;而安卓 11 則很大程度上了 App 之間的鏈式喚醒等等。


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

但道高一尺魔高一丈,安卓系統的很多限制后臺機制,需要 App 使用較高版本的 TargetAPI 才能生效,而大量 App 仍使用老舊的開發規范,但用戶卻不可能拋棄其中的很多 App。因此,App 強行駐留后臺的行徑,對于用戶的負面影響是實打實的,既然 Google 官方安卓無法做到,那就只能由第三方安卓 ROM 來動手了 —— 如果哪個牌子的安卓不做,就會在用戶中落下“又卡又熱又耗電”的壞口碑。

因此,OEM 安卓們殺后臺,一個比一個狠。有其是在國內,一些安卓 ROM 甚至默認定時殺后臺,即使 RAM 資源充足,絕大部分 App 也無法保留后臺進程。安卓 ROM 激進殺后臺的風氣,就此產生。

為什么 App 要強行駐留后臺?

安卓 ROM 激進殺后臺是“果”,而 App 以各種行徑強行駐留后臺則是“因”。而這一切的“根”又是什么?恐怕和安卓的生態環境有關。

和蘋果不同,安卓最初并沒有提供 App 統一推送機制,這意味著每個 App 如果需要接受后臺消息,那就需要自行駐留進程,以隨時接收消息推送。不過這些年 Google 也對此作了改進,引入了 GCM/FCM 機制,App 可以調用 Google 服務框架 GMS,通過 Google 的服務器實現統一的消息轉發,App 的消息推送可以由系統接管,整個過程 App 都無需保留后臺,體驗類似 iOS。


安卓上的 FCM 機制,類似于 iOS 的統一消息推送,但前提是系統和 App 接入 Google 服務

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

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

為什么 Google 要整治安卓 ROM 殺后臺?

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

Google 在 Play 商店中觀察到了不少這樣的差評,而這顯然不是開發者的錯 —— 在 App 駐留后臺越來越卷的風氣下,老老實實按照規范開發的 App,反而后臺更容易被系統強行中斷,反映在用戶實際體驗上就是該 App 在后臺好端端就沒了,用戶覺得這 App 肯定有 Bug。


為了呼吁系統不要亂殺 App 后臺,開發者們甚至還專門做了一個“求別殺我的 App”的 App

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

目前 Google 正邀請第三方應用開發者提供反饋,想知道哪些手機品牌機型殺后臺嚴重,以便進行更加深入的調查。

安卓廠商要如何應對?

由于眾所周知的原因,Google 并不在國內展開賬號相關的服務,國內的安卓生態是和 Google 脫節的。因此,對于 Google 的相關整治,應該對國內的安卓產品影響不大。

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

不過我們也要意識到,安卓 ROM 激進殺后臺造成的負面體驗,在國內也是存在的。但目前國內的安卓生態迫使安卓廠商出此下策,要如何改變現狀?


統一推送聯盟有望從根源上解決系統殺后臺和 App 需要后臺保持推送服務的矛盾

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

總結

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

 

責任編輯:姜華 來源: PConline原創
相關推薦

2018-07-21 14:32:58

無限流量套餐網絡

2023-11-14 08:15:49

OptionalJava

2015-05-08 07:36:36

Google App 云割據

2025-02-03 00:00:10

2021-12-21 08:12:01

Web JavaScriptCSS

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

2021-03-19 08:50:11

數據中臺業務中臺架構

2013-05-20 16:30:37

移動應用App推廣

2020-04-09 09:44:23

周鴻祎360草根

2023-05-05 10:28:47

2013-09-16 17:02:04

2011-09-15 09:05:11

java

2021-11-24 22:45:19

蘋果安卓手機

2020-02-05 09:38:34

程序員技能開發者

2019-06-13 16:30:37

代碼Java編程語言

2020-10-13 06:52:50

數據倉庫項目
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区在线免费观看 | 91久久国产综合久久 | 99精品99久久久久久宅男 | 黄色欧美 | 欧美中文 | 一区视频 | 国产午夜精品一区二区三区四区 | 国产真实乱对白精彩久久小说 | 日本免费视频 | 亚洲第一av | 蜜桃av一区二区三区 | 国产精品免费一区二区三区 | 亚洲一区中文字幕在线观看 | 蜜桃传媒av| 国产日韩视频在线 | 日韩一区二区成人 | 一区二区三区视频在线 | 日韩欧美精品在线播放 | 二区久久 | 在线成人av | 国产在线播放av | 黄色网址免费看 | 亚洲精品丝袜日韩 | 日本高清在线一区 | 国产91在线播放 | 国产精品一区二区三区在线 | 视频在线日韩 | 日产精品久久久一区二区福利 | 欧美视频免费在线观看 | www.av7788.com| 国产在线精品一区二区三区 | 伊人久久成人 | 中文字幕11页 | 99re视频在线观看 | 玖玖色在线视频 | 97超碰人人 | 日韩1区| 亚洲一区二区av | av手机在线播放 | 国产精品久久久久久久久久久新郎 | 亚洲精品一区二区另类图片 |