Google正調查手機廠商在殺Android后臺進程時過于激進的問題
在過去的幾年里,Google已經大大改善了Android系統處理后臺應用程序的方式。Doze和App Standby Buckets等優(yōu)化措施有助于將系統資源分配給最需要的應用程序,同時確保濫用的應用程序不會在后臺肆意運行。
在很長一段時間里Android用戶批評iOS積極殺死在后臺運行的應用程序的方式。Android手機的多任務處理能力、更大的內存池和更大的電池被作為該平臺優(yōu)越性的例子四處宣揚。然而因為種種原因,一些制造商已經自行采取了更嚴格的措施,甚至可能違背了Google的政策,Google現在想知道這些OEM廠商是誰。
調查表格:
- https://docs.google.com/forms/d/e/1FAIpQLSd9P3gLKgMbVwQnAra6UhOjnCWtKpp55kYmigUKo8-ynmvdPg/viewform?resourcekey=0-e65sRbpisoGmtEe_zPZnMg
大多數Android應用可能不需要總是在后臺運行,但肯定有一類應用需要。事實上,有一類應用根本就不應該在后臺運行,特別是那些意圖不純的應用,如惡意軟件。然而,一些以健康為中心的應用程序可能需要一直運行,但系統可能不會總是讓這些應用程序運行。
當然,后臺應用程序雖然帶來了不少便利,但也不是沒有代價的,通常是在CPU占用和最終帶來的電池續(xù)航表現縮短方面。這就是為什么包括Android在內的平臺對哪些應用程序可以這樣做以及何時這么做設定了規(guī)則和限制。Android系統也為例外情況留出了空間,并提供了支持應用程序進入睡眠狀態(tài)并再次喚醒的方法。
另一方面,Google也為OEM廠商制定了規(guī)則,使其在后臺殺應用程序進程的過程透明化,但這就是事情變得有點混亂的地方。一些原始設備制造商在Android系統的基礎上實施他們自己的應用程序殺進程政策,但通常不會讓開發(fā)者、更不會讓用戶知道這些。具體就會表現在一些應用程序,如睡眠監(jiān)測或活動跟蹤應用程序可以在一個手機上運行,在另一個品牌上可能無法正常工作,只是因為后者更積極地殺死了在后臺運行的應用程序。
多年來,應用程序開發(fā)人員一直在抱怨這種情況,似乎Google終于聽到了他們的請求。有人報告說某些品牌甚至扼殺了重要的Android可訪問性輔助服務(這被視為照顧視障聽障人士等弱勢群體的操作系統基本功能)。早在2018年,AOSP錯誤跟蹤器就創(chuàng)建了一個問題,詳細說明了一部分OEM廠商是如何濫用Android的核心功能,禁止第三方應用程序在后臺運行。這個問題充滿了數百名應用開發(fā)者的回應,呼應了類似的經歷,敦促Google阻止OEM廠商違反Android系統的合規(guī)性,實施如此激進的政策。
2021年6月8日,一位用戶評論說,小米和一加等OEM廠商甚至殺死了AccessibilityService。作為回應,一名Google員工最近評論說,他們將研究這個問題,并邀請應用程序開發(fā)人員提交他們的反饋。
Google要求開發(fā)者提供以下細節(jié):
- 受影響的應用程序的名稱
- 他們觀察到問題的OEM和設備型號的名稱
- Android操作系統版本
- 重現該問題的步驟,以及預期結果和觀察到的結果
- 受影響的API
- 他們是否能夠在Pixel設備(或其他運行相同Android版本的設備)上重現相同的問題。
考慮到這種情況已經持續(xù)了多年,這項調查真的是姍姍來遲。正如他們所說,遲到總比不到好。Google甚至不需要親自詢問開發(fā)者,因為 "Don’t Kill My App"網站也已經存在多年了,想要從苦手機廠商者久矣的程序員中獲得事實情況并不算困難。