Android 16 帶來了一項改進,乍看之下似乎微不足道,但在日常生活中卻能帶來很大的不同: 應用程式更新幾乎是瞬間完成的,而且不再那麼煩人了。透過系統變更和新的應用程式安裝功能,Google希望你的手機始終保持最新狀態,而不會讓你感覺手機總是卡頓。
這種更流暢的使用者體驗背後,是幾個在背景運行的技術組件: 新的「無縫應用更新」、dexopt 和 dex2oat 等流程的遷移,以及所謂的雲端構建除了以上這些,Android 16 還帶來了其他一些重大變化,這些變化影響到開發者、效能、安全性、隱私、數位健康以及與更多螢幕格式的相容性。讓我們來詳細了解究竟有哪些變化。
Android 16 中的無縫應用程式更新是什麼?
Android 16 在這方面的核心思想很明確: 確保應用程式更新對正常手機使用的影響降至最低。先前,每次應用程式更新時,系統都必須將其「凍結」一小段時間,以便替換其程式碼和內部資源,從而防止其並行運行,以避免錯誤、資料故障或意外關閉。
ESE 從穩定角度來看,暫時凍結是合理的。但在實際應用中,這可能會造成一些麻煩。對於大型或系統關鍵型應用程式而言,這幾秒鐘的卡頓足以導致依賴它們的其他應用程式運行異常、卡在等待狀態,甚至偶爾出現錯誤。
在 Android 16 中,Google又向前邁進了一步,更加積極地採用了以下概念: 無縫應用程式更新目標不僅是縮短更新時間,還要盡可能縮短應用程式完全無法運作的時間,幾乎達到使用者無法察覺的程度。
根據谷歌透過官方管道提供的訊息, 應用程式在更新過程中卡頓的時間已經從「幾秒鐘」縮短到「幾十毫秒」。實際上,我們說的是從你明顯注意到的停頓到你在很多情況下甚至都察覺不到的閃爍的轉變。
Android 16 如何加快應用程式更新速度
為了大幅減少停機時間,Android 16 並沒有採用任何膚淺的技巧。 它的作用是重新組織非常繁重的內部任務,並將它們提前到安裝之前的階段。因此,應用程式必須凍結的「關鍵」時間段會大大縮短。
這裡的兩個關鍵部分是: dexopt 和 dex2oat這些工具位於 Android 運行時 (ART) 環境中,負責優化應用程式字節碼。傳統上,它們的部分工作會在應用程式暫停期間執行,這在某些情況下會使凍結時間延長幾秒鐘。
借助 Android 16, 這些流程會提前進入更新流程的早期階段。換句話說,系統會在需要用新檔案取代舊檔案之前完成大部分最佳化工作。當關鍵的停頓出現時,只需快速執行檔案交換,即可將凍結時間縮短至幾十毫秒。
這種方法的優點有兩面:一方面, 使用者感覺更新幾乎是瞬間完成的。 因為該應用程式幾乎不會停止可用;另一方面,由於驗證和最佳化仍在繼續進行,只是在使用者體驗方面不太不方便的環節進行,因此資料的安全性和一致性得以保持。
對擁有眾多應用程式的用戶和配置一般的手機用戶來說,影響非常顯著。
在手機上,如果安裝的輕量級應用程式不多,這些變化可能不會引起太多注意。 如果你只使用幾個偶爾更新且資源消耗很少的應用程序,你可能從未覺得更新是個問題。但當我們談到裝有數十個應用程式、大型遊戲或經常更新的服務的設備時,情況就大不相同了。
在經常使用大量應用程式的手機上, 減少更新之間的停機時間意味著更少的短暫卡頓、更少的介面跳動,以及更流暢的整體體驗。此外,如果這些應用程式中的任何一個充當中心服務或向其他應用程式提供 API(例如,訊息用戶端、安全性庫或系統應用程式),則盡量減少它們在更新期間的凍結有助於整個應用程式鏈繼續正常運作。
這項進展對以下方面也特別有意義: 入門級或中低階設備當硬體難以處理大型安裝時,Google不僅重組了本地進程,還將這項改進與 Android 16 的另一個關鍵特性——雲端編譯——聯繫起來,從而加速新應用的安裝,這對性能較低的手機來說是一項革命性的突破。
雲端編譯:借助雲端技術,應用程式安裝速度更快
除了加快更新速度外,Android 16 還包含一項專注於…的功能。 應用程式和遊戲的初始安裝,尤其是在配置較低的設備上。這項功能被稱為雲端編譯,其目的很明確:將以前完全由手機處理器和儲存承擔的部分繁重工作轉移到Google的伺服器上。
在 Android 系統上安裝應用程式時,系統會使用 ART 來運行其程式碼。 在安裝過程中,dex2oat 工具會取得 APK 的 .dex 檔案(其中包含已編譯的程式碼),並產生幾個「應用程式工件」。這些工件有助於應用程式更快、更有效率地開啟和運行,並且可以採用不同的格式:包含元資料以驗證字節碼的 .vdex 檔案、包含特定方法的預編譯程式碼的 .odex 文件,或包含字串和類別的內部表示形式的 .art 文件,從而加快應用程式的啟動速度。
在功能最強大的手機上, 產生這些工件相對快捷,幾乎是透明的。但是對於處理器速度慢、內存容量小的廉價手機來說,這個過程可能會成為瓶頸,特別是當 APK 包含很多 .dex 檔案或者是一個非常大的遊戲或應用程式時。
Android 16 的提案簡單卻有效: 與其在裝置上產生所有這些文件,不如從 Google Play 下載預先編譯好的文件。如今,大多數用戶都擁有相當快的行動網路和 Wi-Fi 連接,因此在許多情況下,使用網路比強迫手機處理器工作幾秒鐘甚至幾分鐘更有效率。
SDM 與預編譯工件:安全 Dex 元資料的作用
Android 16 雲端建置依賴一種新的檔案類型: SDM 代表安全 Dex 元資料。這些 SDM 檔案與 APK 一起從 Play 商店下載,其中包含 Google 基礎架構中使用 dex2oat 產生的應用程式工件,因此裝置不必在本地重複該工作。
一個重要的細節是 SDM 檔案使用與 APK 相同的金鑰進行簽署。這使得系統能夠驗證這些預編譯檔案是否來自可信任來源且未被竄改,從而確保流程的完整性和安全性。如此一來,手機即可直接使用這些預編譯文件安裝應用程序,顯著加快初始安裝速度,尤其是在低階硬體上。
實際上,這意味著 在許多情況下,Android 16 會阻止 dex2oat 在安裝過程中運作。由於繁重的工作已經在Google的伺服器上完成,因此可以減輕處理器的壓力,降低安裝過程中的功耗,並縮短下載包含大量程式碼的大型應用程式或遊戲時的等待時間。
然而,整個系統需要… Google 將 Play 商店配置為大量產生和分發這些 SDM。在初期階段,該功能可能已存在於系統中,但尚未完全激活,這正是因為雲端建置基礎設施需要逐步調整和部署。請勿期望所有相容設備都能立即體驗到該功能;普及化將是一個循序漸進的過程。
快速更新與雲端建置之間的關係
雖然它們看起來像是兩件不同的事, 無縫更新和雲端建置密切相關 因為兩者都圍繞著應用程式執行工件的生成和應用方式及時間展開。一方面,Android 16 將 dexopt 和 dex2oat 的執行提前到更新過程中不太關鍵的階段,從而最大限度地減少了應用程式卡頓的時間。
此外, 雲端編譯意味著在許多情況下,這項工作甚至不需要在設備上完成。這適用於初始安裝和某些更新。透過下載即用型元件,結合這兩種方法,可以讓初始安裝和後續更新更快、更方便。
這一切都符合一個根本目標: 優化 Android 系統,使其即使在配置一般的硬體上也能流暢運作。同時減少停機時間,並減輕更新可能對其他應用程式和服務產生的副作用。
Android 16 中其他影響效能和體驗的更改
更新和安裝方面的改進並非孤立存在。 Android 16 還包含一系列行為變更,這些變更… 它們既會影響以新版本(targetSdkVersion 36)為目標的應用程序,也會影響作業系統本身。其中許多問題與應用程式更新沒有直接關係,但它們確實會影響體驗的穩定性、效能或一致性。
在使用者體驗和設計領域, Android 16 鞏固了對全面螢幕介面的承諾 透過移除面向新 API 層級的應用程式中使用 `windowOptOutEdgeToEdgeEnforcement` 屬性停用此模式的選項,如果套用的目標 API 等級為 Android 16 且運作在該版本的裝置上,則無法再停用此行為,因此開發者必須調整其設計以使其在全螢幕模式下正常運作。
導航方面也發生了重大變化: 預測性返回手勢正逐漸成為 Android 16 的應用程式的標配。在此版本中,`onBackPressed` 事件不再被調用,也不會像以前那樣發送 KEYCODE_BACK 鍵;現在,當用戶滑動返回(返回主畫面、上一個 Activity 等)時,系統動畫會引導使用者到達所需位置。先前捕獲了返回按鈕的開發者應該遷移到新的導航 API,或作為臨時解決方案,在清單檔案中使用 `android:enableOnBackInvokedCallback=false` 屬性停用該行為。
開發人員的關鍵技術變化
除了視覺體驗之外, Android 16 對計畫任務、字體和響應式佈局的內部運作機制進行了調整。例如,`scheduleAtFixedRate` 方法的行為發生了改變:當應用程式返回有效生命週期時,不再執行所有錯過的調度,而只觸發一個。這有助於防止工作負載突然激增,並提升整體效能,但開發者仍需檢查其邏輯是否受到影響。
關於文字和字體, elegantTextHeight 屬性對面向 Android 16 的應用不再有效。所謂的「優雅字體」正在被淘汰,因此有必要為阿拉伯語、泰語、泰米爾語或各種印度字母等語言規劃一致的排版設計,而不必依賴這種自動調整。
在大螢幕設備(平板電腦、折疊設備、桌上型電腦、汽車、電視…)上, Android 16 進一步強化了自適應設計的概念。在螢幕寬度不小於 600 dp 的裝置上,清單檔案中聲明的方向、縮放和寬高比限制將被忽略。這意味著應用將擴展到填滿整個窗口,不會出現黑邊或強制橫屏/垂直屏幕。只有遊戲、某些用戶配置的例外情況以及較小的螢幕不受此規則限制。
有一臨時逃生路線: android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY 屬性可以在 Activity 層級或應用程式層級宣告。 為了在大螢幕上保持原有的行為模式,此功能將在未來的版本(API 等級 37)中移除,因此建議現在就開始調整介面。
健康、連結和安全領域的新聞
Android 16 也加強了對以下方面的控制: 健康和身體活動數據BODY_SENSORS 和 BODY_SENSORS_BACKGROUND 權限已被 android.permissions.health 權限空間下更具體的權限所取代,與 Health Connect 保持一致。讀取心率等敏感資料的應用必須要求更細粒度的權限(例如 READ_HEART_RATE),並設定可見的 Activity 來展示其隱私權政策,否則系統可能會撤銷這些權限。
在藍牙領域, 引入了新的意圖,例如 ACTION_KEY_MISSING 和 ACTION_ENCRYPTION_CHANGE為了更好地處理配對遺失和加密更改,管理配對裝置的應用程式可以在金鑰遺失、連結重新加密或安全參數更改時做出更精確的反應,以適應製造商之間可能存在的差異。
另外, 現在,所有面向 Android 16 的應用程式都可以透過 CompanionDeviceManager 中的公用 API 從關聯裝置中移除藍牙配對。呼叫 removeBond(int) 可以撤銷與 CDM 關聯關聯的藍牙配對,應用程式可以監聽 ACTION_BOND_STATE_CHANGED 來追蹤配對狀態的變化。
在安全性方面,Android 16 繼續加強了系統安全性。 MediaStore#getVersion() 現在為每個應用程式傳回一個唯一的版本號這可以防止該字串被用作應用程式之間的指紋識別機制。 「安全意圖」計畫也在推進中,旨在強化意圖解析系統:當透過 intentMatchingFlags 屬性啟動時,需要明確意圖才能匹配目標元件的過濾器;沒有操作的意圖將無法匹配過濾器,除非使用諸如 allowNullAction 之類的特定標誌。
這種更嚴格的控制可以在應用程式或元件層級(活動、服務、接收器等)啟用,可以使用以下標誌: 強制執行意圖過濾器或不執行它還包含用於調試被阻塞意圖的日誌訊息。其理念是逐步過渡到一種模型,在未來的版本中,這種嚴格的解析方式將成為預設行為。
附加保護:Mali GPU、本地網路和照片
Android 16 加強安全性的另一個面向是 在 Pixel 裝置上存取 Mali GPU較舊的 IOCTL 或僅用於開發的 IOCTL 會被阻止,而用於效能分析的 IOCTL 則僅限於 shell 進程或可調試應用程式。這不會影響普通應用程式、Vulkan 或 OpenGL 等標準圖形 API 或官方效能分析工具,但確實限制了潛在的核心級攻擊途徑。如果應用程式嘗試使用被禁止的 IOCTL,系統會產生 SELinux 拒絕請求,Google 建議將此問題報告給相應的安全管道。
在隱私領域,Android 16 向前邁出了非常重要的一步。 本地網路防護目前,任何擁有網路存取權限的應用程式都可以存取區域網路上的設備,這使得指紋識別技術或將本地網路用作位置代理等攻擊手段有機可乘。新方案將此類存取權限置於附近設備群組內的特定執行時間權限之後。
推廣過程是循序漸進的,包括一個啟用階段(2025 年第二季),在此期間, 應用程式可以透過相容性框架啟動限制並測試其用例當資料包的 RESTRICT_LOCAL_NETWORK 標誌被設定時,如果應用程式沒有相應的權限,則進出本地網路位址(透過 TCP 和 UDP 進行單播、群組廣播或廣播)的流量將產生錯誤,而正常的網路流量將繼續運作。
在這個初始階段, 要重新取得對 LAN 的存取權限,該應用程式只需聲明並獲得 NEARBY_WIFI_DEVICES 權限即可。但是,未來將在附近設備群組中引入特定權限。諸如 10.0.0.0/8、192.168.0.0/16、172.16.0.0/12 等網絡,本地鏈路 169.254.0.0/16,CGNAT 範圍 100.64.0.0/10以及組播位址(224.0.0.0/4、ff00::/8)等,均視為「本地」網路。
最後,Android 16 調整了對照片和影片的存取管理。 當目標 SDK 版本為 36 的應用程式在運行 Android 16 的裝置上請求媒體內容權限時 如果使用者選擇僅授予對特定項目的存取權限,則該應用程式產生的照片和影片將預先顯示在照片選擇器中。使用者可以根據需要取消選擇,這將撤銷該應用程式對這些特定項目的存取權。
所有這些變化——近乎即時的更新、雲端編譯、新的權限、對意圖的更大控制、增強的 GPU 和本地網路安全,以及在健康狀況、連接性和自適應設計方面的改進——都指向同一個目標: 讓 Android 16 成為對使用者和開發者更流暢、更可預測、更安全的平台.
隨著更多型號的 三星等品牌隨著小米、摩托羅拉、一加以及當然還有 Pixel 手機陸續收到此版本,安裝或更新應用程式將不再是「祈禱成功」的時刻,而會變成一個簡單的過程,您在正常使用手機時幾乎不會注意到它的存在。 分享此訊息,以便其他用戶能夠隨時了解 Android 16 的新功能。
