Android 16 中的應用程式更新:如何實現近乎瞬時的更新

  • Android 16 引入了近乎即時的應用程式更新,這得益於無縫更新和 dexopt 和 dex2oat 等進程遷移技術。
  • 新的雲端建置和安全 Dex 元資料 (SDM) 檔案加快了應用程式的安裝速度,尤其是在低階手機上。
  • Android 16 在自適應設計、效能、導航和健康權限方面進行了重大改進,並對本地網路和 GPU 進行了額外保護。
  • 該版本正在逐步推廣到 Pixel、三星、小米和其他廠商的產品中,這將直接影響系統的流暢性、穩定性和安全性。

這就是 Android 16 快速更新的工作原理

Android 16 強勢來襲,帶來了一系列改進,雖然這些改進不會出現在最引人注目的廣告中,但 它們確實可以改變你日常生活中使用手機的方式。我們正在討論的是一種全新的應用程式更新系統,它幾乎完全消除了應用程式在後台更新時出現的惱人停頓。

關鍵在於底層技術的一系列變革:從所謂的 無縫應用程式更新 (無縫應用程式更新)直到 雲端編譯這包括對 Android 運行時、權限、響應式設計和安全性的調整。所有這些都已整合到 Android 16 中,因此更新或安裝應用程式不再需要提心吊膽,祈禱手機不會死機。

Android 16 應用程式更新有哪些變化?

此前,每次應用程式更新時,作業系統都必須… 把它「凍結」幾秒鐘。 為了在不造成資料損壞或意外宕機的情況下替換程式碼和內部資源,這種臨時凍結是維持系統穩定性的必要措施,但實際上可能會造成許多不便。

當受影響的應用程式體積較小時,這種阻塞幾乎不會被注意到;然而,在以下情況下, 佔用資源較多的應用程式或在系統中起關鍵作用的應用程式這短短幾秒鐘足以讓其他依賴於此的應用程式出現運作異常、卡頓或偶爾出現錯誤。如果你每天使用很多應用,你可能已經注意到,在 Play 商店一次性完成多個更新後,應用程式會出現輕微的卡頓或奇怪的停頓。

Android 16 在這方面取得了重大飛躍,並且更加積極地採用了以下理念: 無縫應用程式更新其目的不僅在於縮短更新過程的總時間,而且 應用程式完全無法運行的時間間隔縮短至不到一秒。以至於在實踐中,你甚至可能難以察覺。

根據谷歌的文檔和解釋,應用程式在更新期間的凍結期會發生變化。 “幾秒鐘”到“幾十毫秒”換句話說,它從清晰可見的停頓變成了除非你仔細觀察每個細節,否則感覺就像是一次簡單的眨眼。

即將更新至 Android 16 的摩托羅拉手機列表
相關文章:
摩托羅拉將更新至 Android 16 的手機清單:型號、日期和新功能

Android 16 如何減少更新延遲?

為了實現這種大幅精簡,Android 16並沒有採用拙劣的捷徑;它實際的做法是: 重新調整系統執行繁重任務的順序 在應用程式安裝和更新期間。訣竅在於將耗時的操作從應用程式需要停止運行的關鍵時刻移開。

這裡的關鍵部分是: 德克索普 y dex2oatAndroid 運行時 (ART) 環境的兩個元件負責: 優化應用程式字節碼傳統上,他們的很大一部分工作正是在應用程式凍結時完成的,這使得不活動視窗延長了幾秒鐘,尤其是在運行速度較慢的設備或運行非常大的應用程式時。

在 Android 16 中,Google將這些進程移至 安裝或升級流程的初步階段系統會在達到需要用新檔案取代舊檔案的關鍵點之前完成大部分優化工作。這樣,當需要凍結應用程式時,系統只需快速替換預先準備好的文件,從而將暫停時間縮短至幾十毫秒。

這種方法對使用者來說有雙重優勢:一方面, 你會注意到更新幾乎是瞬間完成的。這是因為該應用程式幾乎從未停止服務;另一方面,由於驗證和最佳化仍在進行,只是提前到流程中乾擾性較小的階段,因此安全性和資料一致性水準得以維持。

了解 Android 16 非常重要 它不會移除Dexopt或Dex2OAT。它也不會移除關鍵控制功能。改變的是執行時間和方式:系統會在應用凍結時避免執行這些控制功能,而是將它們移至先前的狀態,甚至會依賴其他改進措施,例如雲端編譯,以便部分工作能夠從Google伺服器預先完成。

Android 16 的快速更新功能如何?

對日常使用的實際影響:更新頻繁,麻煩更少

如果你的手機上只有幾個輕量級應用,而且這些應用程式更新頻率很低,那麼這些變化對你來說可能並不明顯。即便如此, 系統整體流暢度有所提升因為應用程式出現輕微卡頓和「卡住」的情況發生頻率較低,或幾乎難以察覺。

這項改變真正發揮作用的地方在於要求更高的場景:例如安裝了數十個應用程式的手機。 資源密集遊戲、頻繁更新的服務 或在多個應用程式相互依賴的環境中。減少更新之間的停機時間意味著您會注意到介面跳動減少、意外等待減少,以及整體體驗更加穩定。

其中有一種情況尤其棘手:充當…的應用程序 其他應用程式或系統本身的核心組件例如即時通訊用戶端、安全服務、共用程式庫或系統元件。在先前的 Android 版本中,如果其中一個應用程式卡頓幾秒鐘,所有依賴它的程式都可能受到影響。而在 Android 16 中,卡頓時間非常短暫,因此對依賴鏈的影響已大幅降低。

此外,這項改進在以下手機上尤其受歡迎: 入門級或中低端在處理大型安裝時,硬體的效能會受到更大的影響。在這些裝置上,最佳化任務可能會對處理器造成巨大的負擔,導致比預期更嚴重的卡頓。 Android 16 不僅重新組織了本地進程,而且 支援雲端部分負載 為了緩解設備的負荷,我們接下來會討論這個問題。

雲端編譯:安裝速度更快,尤其是在配置較低的行動裝置上。

除了加快更新速度外,Android 16 還引入了一個旨在…的功能 應用程式和遊戲的初始安裝重點明顯放在性能較低的設備。這就是所謂的 雲端編譯 (雲端編譯),其目標是將以前完全在手機上完成的大量繁重工作轉移到Google的伺服器上。

在 Android 系統上安裝應用程式時,系統會使用 ART 來運行其程式碼。在此過程中,該工具 dex2oat 從 APK 提取 .dex 檔案。 ——其中包含字節碼——並產生多個運行時工件,使應用程式能夠更快、更有效率地啟動和運行。這些工件包括以下文件: .vdex、.odex 或 .art儲存元資料、預編譯程式碼和可直接使用的內部結構。

在高效能手機上,產生這些影像通常速度很快,用戶幾乎感覺不到。但在 低階手機,處理器效能一般,記憶體速度慢。本地編譯可能會成為瓶頸,特別是當 APK 包含許多 .dex 檔案或遊戲非常大時。

Android 16 採用了不同的方法:它沒有強制裝置在本地編譯所有內容, 從 Google Play 下載一些預先編譯好的檔案。如今,大多數用戶都有相當不錯的 Wi-Fi 或行動網路連接,因此在許多情況下,「使用網路」比讓手機的 CPU 長時間高強度工作更有效率。

安全 Dex 元資料 (SDM):預編譯工件的作用

雲端編譯依賴一種名為「雲端編譯」的新型檔。 SDM(安全 Dex 元資料)這些檔案與 APK 檔案一起從 Play 商店下載,其中包含先前在以下環境中產生的檔案: 谷歌基礎設施 使用 dex2oat,無需重複所有本機編譯工作,即可供裝置使用。

一個關鍵細節是這些SDM文件 它們使用與 APK 本身相同的金鑰進行簽署。這樣一來,系統就能驗證這些文件是否來自合法來源、是否被竄改,以及是否與正在安裝的應用程式版本一致。有了這項完整性檢查,手機可以信任這些文件,並在不影響安全性的前提下加快安裝速度。

實際上,這意味著,在 Android 16 中,系統 在許多情況下,您可以避免在裝置本身上執行 dex2oat。尤其是在初始安裝期間。這樣做可以減輕處理器負擔,降低安裝過程中的能耗,並顯著縮短等待時間,尤其是在下載大型應用程式或遊戲時。

然而,所有這些基於雲端的編譯基礎設施都需要… Google 將 Play 商店配置為大規模產生和分發 SDM。在早期階段,該功能可能已存在於系統中,但尚未完全推廣到所有應用或裝置。啟動通常是逐步進行的,因此不要指望在任何相容的手機上都能立即體驗到該功能。

快速更新和雲端建置之間有何關係?

似乎 不間斷更新 雲端編譯和雲端建置是兩個不同的主題,但它們實際上都契合約一個問題:它們都圍繞著… 應用程式執行工件何時何地生成Android 16 將 dexopt 和 dex2oat 等進程的執行提前到不太關鍵的階段,同時允許大部分此類工作在設備外部完成。

一方面,重新組織安裝流程可以最大限度地減少應用程式需要凍結的時間,使其專注於預先準備好的檔案的簡單交換。另一方面, 從雲端下載即用型設備 它減少了在新安裝和某些升級過程中本地編譯的需求,從而縮短了整體時間。

總而言之,這種雙管齊下的方法追求的是一個非常明確的潛在目標: 即使在配置一般的硬體上,也能讓安卓系統運作順暢。減少停機時間,並減輕更新可能對同時運行的其他應用程式和服務產生的副作用。

Android 16 在設計、導航和使用者體驗方面進行了更改

更新和安裝方面的改進伴隨著一系列行為上的變化, 它們既會影響面向新 API 等級 (targetSdkVersion 36) 的應用程序,也會影響系統本身。許多問題與更新沒有直接關係,但它們確實會影響使用者對介面效能和一致性的認知。

在設計方面,Android 16 鞏固了 邊緣到邊緣接口針對此版本開發的應用程式將無法再使用 windowOptOutEdgeToEdgeEnforcement 屬性隨意停用全螢幕模式。這迫使開發者調整其設計,使其在全螢幕模式下正常運行,並更好地與手勢、導航列和背景整合。

導航也向前邁進了一步 預測性後退手勢的標準化 對於面向 Android 16 的應用。在具有此版本的裝置上,不再呼叫 onBackPressed,也不再像以前的版本那樣發送 KEYCODE_BACK 鍵;相反,系統會顯示動畫來預測返回手勢將帶您到哪裡(到上一個畫面、到主畫面等)。

Android的16
相關文章:
Android 16:主要新功能以及將更新的三星、小米和OPPO手機列表

依賴舊行為的開發者應該 遷移到新的導航 API 或者,您可以使用清單檔案中的 `android:enableOnBackInvokedCallback=false` 屬性暫時停用預測行為。這需要對應用程式進行一些調整,但作為回報,您可以為用戶提供更清晰、更直觀的導航體驗。

開發者內部設定:任務、文字和大螢幕

從更技術層面來看,Android 16 對某些計劃任務的處理方式以及與文字和響應式設計相關的某些屬性的行為進行了更改。所有這些都指向… 一個更可預測、負載峰值更少的系統但代價是開發人員需要修改先前的一些假設。

例如,scheduleAtFixedRate 方法修改了其語義:當應用程式處於空閒狀態並恢復運行時, 「遺失」的執行不再級聯。但只能有一個。這有助於避免工作負載突然激增,從而防止延遲或資源消耗峰值過高的情況,但這需要依賴這種模式的應用程式重新審視其邏輯。

關於排版,屬性 elegantTextHeight 屬性不再生效 在適用於 Android 16 的應用程式中,旨在改善某些語言(阿拉伯語、泰語、泰米爾語、各種印度字母等)顯示效果的所謂「優雅字體」已被停用,因此開發者必須規劃自己的排版策略,以充分涵蓋這些語言,而無需依賴這種自動調整。

大螢幕設備——平板電腦、折疊螢幕設備、桌上型電腦、汽車或電視——也深受此版本的影響。 Android 16 進一步強化了這個理念。 真正適應大對角線的設計在螢幕寬度至少為 600 dp 的裝置上,清單檔案中聲明的某些方向、縮放或寬高比限制將被忽略。因此,應用將擴展到填滿整個窗口,避免出現人為的黑邊(柱狀黑邊)或強制垂直或水平方向。

遊戲、某些用戶自訂情況以及小螢幕裝置會有例外,但總的來說,規則很明確: Android 希望應用程式能夠在大螢幕上自然縮放。目前有一個臨時的解決方法,即在 Activity 或 Application 層級使用 android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY 屬性,但 Google 已經警告說,該屬性將在未來的版本(API 37)中消失,因此最好盡快進行調整。

數位健康、連接性和敏感權限的新發展

Android 16 藉此機會進一步加強了對…的保護。 健康和身體活動數據通用的 BODY_SENSORS 和 BODY_SENSORS_BACKGROUND 權限被 android.permissions.health 空間中更細粒度的權限所取代,與 Health Connect 平台保持一致。

想要讀取敏感資訊的應用程序,例如 心率或其他健康參數他們必須申請特定權限,例如讀取心率,並且必須公開展示隱私權政策。不遵守這些要求可能會導致系統撤銷權限,從而加強對這類資料的存取控制。

在藍牙領域,出現了新的意圖,例如: ACTION_KEY_MISSING 和 ACTION_ENCRYPTION_CHANGE這些功能旨在更好地應對配對密鑰遺失或連接加密變更的情況。因此,控制已配對裝置的應用程式在應對異常狀態或不同製造商之間的差異時,能夠獲得更精細的控制。

此外,所有為 Android 16 設計的應用程式都具有公共功能。 CompanionDeviceManager 移除藍牙配對 對於關聯設備:removeBond(int) 方法可讓您撤銷與 CDM 關聯關聯的綁定,您可以監聽 ACTION_BOND_STATE_CHANGED 以追蹤配對狀態的演變。

增強安全性:Mali GPU、意圖和本地網絡

Android 16 在幾個關鍵方面也加強了安全性。其中之一是對存取權限的存取。 Pixel 裝置中的 Mali GPU此次更新會阻止較舊的 IOCTL 或僅供開發的 IOCTL,並將效能分析 IOCTL 限制在 shell 流程或可偵錯應用程式中。理論上,使用 Vulkan 或 OpenGL 等標準圖形 API 的常規應用程式不會受到影響,但此次更新確實堵住了潛在的核心級攻擊途徑。

另一點也很重要,那就是該倡議的進展。 “更安全的嘗試”使用 intentMatchingFlags 屬性,您可以啟動更嚴格的意圖解析模式:明確意圖必須與目標元件的過濾器明顯匹配,並且沒有操作的意圖將停止與過濾器匹配,除非使用諸如 allowNullAction 之類的特定標誌。

這種模式可以應用於應用程式級別,也可以應用於每個元件(活動、服務、接收器),使用諸如以下標誌: 強制執行意圖過濾器或不執行同時也會產生日誌訊息,用於調試被阻塞的意圖。其目標是逐步將生態系統過渡到一種模型,在未來的版本中,這種嚴格的解析方式將成為預設行為。

關於網路隱私,Android 16 引進了新的通話功能 本地網路防護 (本地網路保護)。先前,任何擁有互聯網權限的應用程式都可以自由地與區域網路上的設備通信,這為指紋識別技術或利用本地網路作為近似位置訊號打開了方便之門。

訪問本地地址

有了這些保護措施,就可以存取本地位址(例如 10.0.0.0/8、192.168.0.0/16、172.16.0.0/12、169.254.0.0/16、100.64.0.0/10、組播 224.0/16、100.64.0.0/10、組播 224.0.0.08:0.0.08 等範圍。 它仍然需要附近設備群組的特定權限。在第一階段(Q2 25),應用程式可以透過相容性框架啟動這些限制並測試其用例;當資料包的 RESTRICT_LOCAL_NETWORK 標誌處於活動狀態時,如果應用程式沒有相應的權限,則進出 LAN 的流量會產生錯誤。

在初始階段,只需申報並獲得許可證即可。 NEARBY_WIFI_DEVICES 重新獲得對區域網路的存取權限,這是一項相關的措施 線上程式安全不過,Google計劃稍後在同一用戶群中推出更具體的權限。傳統網路流量不受影響,對正常使用的影響降至最低。

此外,照片和影片的存取控制也進行了一些調整。在運行 Android 16 的裝置上,當目標 SDK 版本為 36 的應用程式請求媒體權限,而使用者選擇僅授予對特定項目的存取權限時, 該應用程式自身生成的照片和影片似乎是預先挑選好的。 在選擇器中,使用者可以手動取消選取這些選項,這將撤銷應用程式對這些特定檔案的存取權限,並加強對內容的精細控制。

哪些手機將獲得 Android 16 更新?更新是如何進行的?

Android 16 遵循 日曆版本領先其他版本測試版發佈時間比以往更早。第一個測試版已於一段時間前發布,第二個測試版也已開始推送,主要用於優化攝影體驗等各個方面。

很多 谷歌 Pixel 它們一如既往地位列榜首。 Pixel 6 及更新機型正在接收 Android 16 測試版更新,改進之處包括 Camera2 中的混合自動曝光、針對專業視頻的色溫和色調微調、對動態照片的更好支持,以及對 HEIC 格式 UltraHDR 圖像的兼容性,未來還將支持 AVIF 格式。

除了Pixel之外, 三星和小米等廠商已經開始推送 Android 16 更新。 在各種中高階機型中,包括摩托羅拉和一加等品牌,它們都已公佈了自己的更新計劃。這意味著,在未來幾個月裡,近乎即時的更新、雲端建置、更精細的權限控制和響應式設計等新功能將惠及越來越多的使用者。

其他來源的 Android 16 改進

Android 16 在其他方面也帶來了實質的改進:例如,測量系統會根據語言進行調整(例如,美式英語使用英寸,歐洲配置使用公制)。 Android 16 電視版,配備全新 API 對於音訊和圖像配置文件,提供了一個配置文件選擇器小部件,可以從主螢幕切換用戶,並且可以將雙擊電源按鈕分配給 Google Wallet 以便快速存取。

由於這一系列改進,Android 16 不僅加快了應用程式更新和新應用程式安裝的速度,而且 它優化了導航,提高了安全性,更好地保護了健康數據,更好地使介面適應大螢幕,並為開發者提供了額外的工具。.

Android 16 中的應用程式圖示變更
相關文章:
Android 16:自動主題圖示、可調尺寸以及最終一致的主螢幕

對使用者而言,其結果是系統感覺更穩定,更新時侵入性更小,並且能夠更好地與日益複雜和要求更高的應用程式生態系統共存。 分享此信息,讓更多用戶了解如何在 Android 16 上快速更新他們的應用程式。