谷歌發布了一個開放的行動平台。 Android 17. 新版本的原始碼已發佈在專案的 Git 倉庫(android-17.0.0_r1 分支)中。以下設備的韌體版本已準備就緒:Pixel 6/6a/6 Pro、Pixel 7/7a/7 Pro、Pixel 8/8a/8 Pro、Pixel 9/9a/9 Pro/9 Pro XL/9 Pro Fold、Pixel 10/10 Pro/10 Pro XL/10 Proold、Pwixel TablePtel。 HONOR、iQOO、Lenovo、OnePlus、OPPO、realme、Sharp、vivo 和 Xiaomi 等品牌的預發布韌體版本也已發布。適用於基於 ARM64 和 x86_64 架構的各種裝置的通用系統映像 (GSI) 版本正在建立中。
其中一項變更(1、2、3):
- 新增了多視窗模式“氣泡”。它允許您以浮動視窗的形式啟動任何應用程序,類似於用於發送訊息的疊加通知(“氣泡”),但無需依賴任何特定的 API。長按應用程式圖示即可在浮動視窗中開啟應用程式。在大螢幕上,浮動視窗圖示會顯示在工作列的單獨區域。這些視窗可以分組、移動和固定到螢幕上。

- 針對平板電腦、筆記型電腦、桌上型電腦和可折疊螢幕智慧型手機等大螢幕裝置的平台開發工作仍在繼續。先前已啟用的針對螢幕寬度超過 600 像素 (dp) 的裝置停用新功能的選項已被移除。這些新功能涉及忽略某些用於管理螢幕大小調整和方向的 API(screenOrientation、resizeableActivity、[min|max]AspectRatio),以及在可調整大小和可移動視窗中自適應放置應用程式。


- EyeDropper 系統 API 已添加,允許應用程式獲取螢幕上任意像素的顏色信息,而無需螢幕截圖權限。安全性透過允許使用者使用平台管理的吸管介面選擇要採集顏色的區域來保證,該介面不受應用程式控制。這意味著應用程式無法要求特定像素的訊息,也無法逐像素地重建螢幕內容。

- 系統新增了一個用於從通訊錄中選擇聯絡人的介面。使用者需要取得 ACTION_PICK_CONTACTS 權限才能存取此介面。此介面無需 READ_CONTACTS 權限(此權限允許讀取所有聯絡人資料)。呼叫此新介面時,使用者可以選擇將通訊錄中的哪些資訊傳遞給應用程序,並可以選擇僅傳遞特定欄位。

- 新增了 PhotoPickerUiCustomizationParams API,用於自訂照片選擇器介面,使其更好地匹配呼叫應用程式的風格。例如,您可以將照片縮圖的寬高比從 1:1(方形)變更為 9:16(垂直畫面)。

- 新增了 USE_LOCATION_BUTTON 權限,讓您在應用程式介面中嵌入系統按鈕,以授予精確位置資料的存取權限。此按鈕由系統渲染,使用者點擊後,僅在當前會話期間授予位置資料存取權限。

- 新增了一項設置,可讓您隱藏應用程式圖示下方的應用程式名稱。


- 螢幕錄製工具列的設計已更改。

- 新增了對螢幕反應的支持,該功能將前置鏡頭的視訊錄製與螢幕錄影的創建相結合,以便您可以對螢幕上的操作添加自己的評論。
- 遊戲新增了一種模式,適用於具有折疊螢幕的設備,其中折疊螢幕的一半用於顯示遊戲畫面,另一半用於顯示虛擬遊戲手把。

- 新增了 Handoff API,可讓您將一個應用程式的狀態轉移到附近的另一個應用程式。 Android-裝置(例如平板電腦)並繼續在該裝置上工作。

- 實現了互動式停靠窗口,與傳統的畫中畫視窗不同,即使在桌面模式下停靠在其他應用程式之上,這些視窗仍然保持互動性。
- 新增了兩個 API:UWB DL-TDOA API,用於使用 Wi-Fi 確定建築物內設備的位置,以進行室內導航;以及近距離檢測 API,用於透過 Wi-Fi 檢測附近的設備。
- 新增了對 VVC(通用視訊編碼)視訊格式的支持,該格式也稱為 H.266 視訊壓縮標準,由 MPEG(ISO/IEC JTC 1)和 VCEG(ITU-T)工作組聯合開發,蘋果、愛立信、英特爾、華為、微軟、高通和索尼等公司也參與其中。 H.266 取代了 H.265(HEVC),可為所有螢幕解析度(從標清和高清到 4K 和 8K)提供高效的傳輸和存儲,並支援高動態範圍 (HDR) 視訊和 360 度全景視訊。
- 新增了以恆定品質錄製影片的功能。此模式在 MediaRecorder 物件中使用 setVideoEncodingQuality() 方法進行配置,可讓您鎖定視訊品質級別,使其不受位元率的影響。
- 增加了對 RAW14 影像格式的支持,該格式用於專業數位相機,每個色彩通道可儲存 15 位元資料。
- 新增對 Eclipsa Video HDR 視訊格式的支援。
- 新增了 HE-AAC(高效能進階音訊編碼)音訊格式的軟體編碼器,支援低位元率和高位元率。
- 新增了 ACCESS_LOCAL_NETWORK 權限,用於限制應用程式對本機網路的存取。此權限允許應用程式識別並連接到本地網路上的設備,例如智慧家庭設備和多媒體系統。新增此權限是為了防止惡意應用程式掃描本機網路資源,例如,秘密識別使用者環境。
- 針對透過簡訊發送的一次性密碼 (OTP) 和驗證碼的攔截保護措施已加強。現在,大多數應用程式只能在收到這些簡訊三小時後才能直接存取它們。預設的簡訊閱讀器會立即顯示這些簡訊。
- 我們已採取措施防範冒充銀行員工的詐騙電話。該平台可與已安裝的銀行應用程式交互,以確認來電確實來自銀行。銀行還可以識別僅接受來電的電話號碼。
- 新增了授予應用程式臨時存取精確位置資料的功能,該權限僅在目前程式使用會話期間有效。
- 動態程式碼載入 (DCL) 保護機制已擴展,不僅支援透過 System.load() 方法載入的本機程式庫,還支援透過其他方式載入的本機程式庫。
DEX 和 JAR 檔案。 DCL 透過為動態載入的可執行檔設定唯讀存取權限,防止惡意程式碼插入這些檔案。 - 憑證透明機制預設為啟用,會維護一個記錄所有已頒發和已撤銷憑證的公共日誌。
- 已經引入了基於混合演算法的數位簽章對 APK 套件進行認證的功能,該混合演算法結合了經典演算法和 ML-DSA 演算法,能夠抵抗量子電腦上的暴力破解。
- 在背景運行的應用程式對音訊播放、連接音訊設備和調節音量等API的存取權限有限。這意味著只有用戶目前正在使用的應用程式才能開始播放音訊和調整音量。
- 增加了基於HPKE(混合公鑰加密,RFC 9180)機制的混合加密支持,該機制結合了公鑰加密中密鑰傳輸的便捷性和對稱加密的高性能(數據用快速對稱密鑰加密,該密鑰本身用慢速非對稱密鑰加密)。
- 使用實體鍵盤輸入密碼和 PIN 碼時,預設會停用輸入時顯示最後一個輸入字元的功能。
- 為了簡化遊戲中觸控板支援的實現,滑鼠和觸控板事件的處理方式已統一。預設情況下,與指標移動和滾動手勢相關的觸控板事件現在會轉換為相對座標,就像滑鼠一樣。若要存取絕對座標,需要明確指定 POINTER_CAPTURE_MODE_ABSOLUTE 模式。
- ChooserSession 物件新增了 getInitialRestingBounds() 方法,讓您在動畫停止且資料載入完畢後,找出 Chooser 對話方塊的最終位置和大小。
- 新增了 getStreamingAppMaxDownlinkKbps 和 getStreamingAppMaxUplinkKbps 方法,用於確定通訊通道的最大頻寬,以便選擇串流媒體的品質等級。
- 我們已向硬體製造商提供 API,用於創建相機擴展程序,以啟用特定於應用程式的功能,例如超解析度細節增強引擎、降噪模式和 AI 品質優化器。
- 新增 API,用於取得有關攝影機類型(內建攝影機、USB 網路攝影機或虛擬攝影機)的資訊。
- 新增了透過低功耗藍牙 (BLE) 連接的助聽器的支援。這些設備現在被歸類到新的 TYPE_BLE_HEARING_AID 類別下,允許應用程式區分助聽器和耳機,並單獨控制系統聲音播放(例如,您可以將通知、鈴聲和鬧鐘在手機的內建揚聲器上播放,而不是在助聽器上播放)。
- 新增了分別顯示透過實體鍵盤和觸控螢幕輸入的密碼的設定。預設情況下,使用實體鍵盤輸入的密碼字元會立即隱藏。
- 透過在縮放時考慮 DPI 差異,改進了應用程式小工具在外部螢幕上的顯示效果。
- 新增了 ACTION_VPN_APP_EXCLUSION_SETTINGS 請求,該請求可用於開啟一個系統螢幕,其中包含允許應用程式繞過 VPN 隧道進行網路存取的設定。
- 增加了對 OpenJDK 25 語言特性和 Java 類別的支援。
- 相機 API 的功能已擴充。 CameraCaptureSession 物件新增了 updateOutputConfigurations() 方法,用於動態地新增或移除輸出區域,而無需重新配置整個相機擷取工作階段。此變更允許在不同的相機模式(例如,錄影和照片拍攝)之間無縫切換。在使用跨越多個實體感測器的邏輯相機時,新增了檢索每個感測器(而不僅僅是主感測器)元資料的功能。
- android:usesCleartextTraffic 屬性已棄用,該屬性允許應用程式傳輸未加密的流量,例如「http://」請求。如果需要傳輸未加密的流量,則應使用單獨的安全性設定檔。
- 新增了 VoIP 通話記錄管理設置,可讓您控制是否將資訊儲存到日誌中以及是否在介面中顯示已完成通話的資訊。
- Wi-Fi RTT(往返時間)API 已擴展,可提供對存取點的持續接近估計和安全的對等節點偵測。
- CompanionDeviceManager 中新增了設定文件,用於請求權限並啟用應用程式與醫療設備和健身追蹤器的互動。
- В Android 執行時間環境 (ART) 實作了分代垃圾回收器(Generational Concurrent Mark-Compact Garbage Collector),它將「舊」物件和「新」物件的處理分開,從而提高了對生命週期較短的近期創建物件的清理效率。使用分代垃圾回收器可以降低資源分配過程中出現阻塞的風險,並降低 CPU 負載,進而提高能源效率。
- 系統已對應用程式可佔用的最大記憶體量進行了限制。如果超過基於裝置可用記憶體計算的限制值,應用程式將被強制終止。為了降低記憶體消耗,系統引入了 R8 優化器,該優化器會對類別名稱、方法名稱和欄位名稱進行壓縮,並移除未使用的程式碼和資源。
- 編譯核心時 Linux 自動回饋導向最佳化 (AutoFDO) 已啟用。它利用效能分析結果以及程式碼各部分執行頻率訊息,來提升頻繁執行操作的效能。測試表明,為核心啟用 AutoFDO 後,啟動時間縮短了 2.1%,首次運行程式速度提升了 4.3%,系統呼叫效率提高了 9.3%,Binder mmap 事務執行時間縮短了 12.3%,HwBinder 執行時間縮短了 20%,Binder RPC 執行時間縮短了 21.7%。
- 本文提出了一種新的 android.os.MessageQueue 訊息佇列實作方案,該方案無需使用鎖定即可運作。這種新實現方案提高了效能並減少了丟幀。
- 聲稱支援的應用程式 Android 從 17 及更高版本開始,禁止更改標記為「static final」的欄位的值,從而允許在運行時啟用更積極的效能最佳化。
- 為了減少記憶體消耗,自訂通知視圖佈局的大小受到了限制。
- ProfilingManager 分析器中新增了 TRIGGER_TYPE_COLD_START、TRIGGER_TYPE_OOM 和 TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE 等觸發器,用於收集有助於偵錯效能問題的資料。
來源: opennet.ru












