Android 開發團隊決定對「殺後臺」現象予以幹預。具體而言,Google 希望通過 CDD 兼容性定義文檔來對 OEM 廠商做出約束,包括定期就後臺應用的限制行為向用戶發出提醒、要求廠商不得通過「白名單(allow lists)」機制來對頭部應用和其他應用的後臺行為進行區別對待等等。

相關問題

2020 年 7 月 9 日發布的 Android 11 Beta 2 有哪些值得關注的新變化??

www.zhihu.com圖標https://www.reddit.com/r/androiddev/comments/hk3hrq/were_on_the_android_engineering_team_ask_us/?

www.reddit.com

谷歌翻譯:

是否有計劃減少由各種(主要是中國的)??設備製造商在Android 11中設置的背景限制(請參閱https://dontkillmyapp.com/)?

開發需要做任何後臺工作的應用程序很困難,因為如果沒有這些製造商的設備,就不可能測試不同的限制。用戶將無法正常運行的應用程序歸咎於開發人員,而製造商設置的限制導致該應用程序無法使用。最重要的是,Play商店中的頂級應用已被這些製造商列入白名單,並且不受背景限制的影響,這使其變得不公平,甚至使用戶對某些應用為何起作用而其他應用不起作用感到困惑。


我也堅決反對白名單功能,恰恰是大廠App最應該被殺後臺。它們纔是毒瘤的主力,有能力遵守開發規範而故意作惡不遵守。

對於殺後臺則反對Android開發團隊的觀念。現在的亂相完全就是他們綏靖的後果。

除了極其個別的App,99%的功能其實都不需要後臺。包括微信QQ支付寶之流。它們的推送,有系統級別方案(GMS或者國內的統一推送),已經沒有任何合理的理由賴在後臺不走了。


一句話概括:不能讓老實人喫虧!

簡單翻譯一下Android 團隊說的內容:

對於設備製造商:

  • 約束OEM廠商,應用被限制時告訴用戶。
  • 要求設備製造商不得利用白名單保護頭部應用。
  • 與設備製造商合作,糾正違反CCD的問題。

技術上:

  • 新增API,開發者可以檢測應用被終止是用戶行為?還是崩潰?或者是系統策略?
  • 增加對不規範行為的限制,不讓老實人喫虧!(we aren』t creating a harder life for the well behaved developers who are following our best practices.)

我個人是絕對支持Android加強這方面限制的,目前國內對Android手機,基本上都不會真正殺幾個頭部應用的後臺(尤其是微信)。這方面的改變會利好中小開發者,至少讓Android生態更公平。


第一行代碼 Android 第3版(圖靈出品)京東去購買?


主要為了一些小廠商考慮。

華為 小米這些廠商的後臺查殺機制已經很純熟了,目前主要考慮的就是查殺策略問題。

查殺策略,圍繞兩個機制來展開。

一個是用戶使用習慣機制,會把用戶在最近半小時左右,或者更長時間內使用頻率最高的應用的被查殺權重降低。

另外一種,就是題目中提到的,根據應用市場下載次數很高的top應用做白名單處理。一般諸如微信 qq這些,都被加在白名單,使用小刷子和任務管理器卡片劃掉都無法直接殺掉。必須通過應用管理點擊強行停止。

不過以上,都只是增加了查殺應用時候的權重,在內存緊張的時候,還是會殺,只不過被殺的優先順序會很低,往往排在最後殺。

這兩個策略如果最終都沒有對內存產生有效控制的話,就會觸發android內核的LMK查殺。該查殺機制只看應用的使用頻率和重要程度來按順序殺,殺到內存足夠為止。查殺的時候,對流暢性影響比較大。目前,也很少會觸發到這個程度,大部分還是依賴白名單和使用頻率的廠商查殺機制。

但是那些小廠商做的應用,不會被添加到白名單,他們就很難實現必須要常駐後臺才能實現的功能。即便像拼多多這種雙進程守護,根本沒有效果。還有美圖秀秀與其他廠商合作的應用互起,發揮的作用也很受限制。

這樣的好處就是,安卓逐漸的規範化了,沒有那麼多亂佔後臺資源的應用存活。

但是壞處就是,微信 qq這些擁有"皇權"的應用可以肆無忌憚的霸佔手機的資源空間。

比如微信的小程序,開上四五個在後臺,一個4G內存的手機,微信就會獨佔1.5G內存到2G內存左右,簡直就像是在安卓系統中獨立出來了一個微信系統。壓榨其他應用生存空間。

還比如qq,會長年累月的下載各種無關緊要的文件,大量侵佔磁碟空間,並且這些在平常的垃圾清理和qq的專清上都清理不到,時間長了,佔用10G以上的磁碟也非常正常。

谷歌也是正看到這一點,決定出手限制手機廠商不得只以top應用為基準來把那些應用添加進白名單,要另尋方法,給新生應用帶來存活空間。


利好支付寶,以後吐槽支付寶啟動比微信慢的人會大大減少。


真好,以後初次打開app時又多了個提示:

該app需要加入白名單的許可權,請問是否同意?

  • 點「同意」:app正常運行
  • 點「不同意」:app直接退出

像極了現在的app打開時,需要獲得攝像頭許可權的操作,用戶不給就直接退出,言下之意就是:愛用用,不用滾!


意味著俺們 android 開發再也不用去思考如何保活了。

猛拍大腿,好,好,好。

然並卵其實,領導一句話,為啥別人微信可以保活?你也得整。

說白了,增大了,我們開發技術難度。

保活不成功,我也有理由了,google 推出政策就這樣,無奈啊。

不想著提高用戶體驗,盡想著獲取用戶私人信息,流氓產品。


不意味著什麼。在國外毒瘤軟體幾乎不存在,可以說在這種條件下不殺後臺就可以減少對用戶多任務操作的幹預。

但在國內,不殺後臺?不存在的。要是真一直讓軟體後臺保活,過一會用戶打開一個新 App 系統就因為內存不足崩掉了。

要想徹底解決殺後臺問題,還是要國內軟體好好做優化,後臺的時候盡量避免不必要的資源佔用,另外統一推送聯盟是個好東西。


play商店中的應用?

中國的安卓系統有谷歌商店嗎?

GMS全套都給你刪了。

而且最重要的一點就是,國產手機各種修改系統源代碼,他可以隨意修改。

特別華為手機,Android 原生API在華為手機上總會出現各種問題。

除非谷歌宣佈Android停止開源,搞成像蘋果那樣,只給開發者文檔,不給你看系統代碼。

否則中國做Rom的公司就永遠不會停止跟軟體廠商合作,在系統裏搞點東西,故意讓某些app可以在後臺跑,並且不給任何提示。


小米10 pro已經體驗上了,現在明顯感覺省電了很多

這事兒意義很大,以前做一個app,客戶問為什麼後臺不能運行,微信卻可以,我告訴他微信在白名單裏,現在的話,就可以說是谷歌限制的


考慮到國內廠商的流氓程度,殺後臺是個必要功能,但看來很快就只有華為一家能做會殺後臺的手機了。

算不算是因禍得福?


推薦閱讀:
相關文章