Android 14 源碼正式推送至 AOSP,官方介紹“開發環節關鍵內容”
10 月 11 日消息,據谷歌開發者官方公眾號發文聲稱,Android 14 的源代碼目前已經推送至 Android 開源項目 (AOSP)。
Android 14 旨在提高開發者的生產力,同時為用戶帶來更好的性能、隱私、安全和定制功能。
官方同時介紹了 Android 14 對開發者“影響最大的部分”,IT之家整理如下:
性能和效率
官方聲稱,Android 14 聚焦的重點領域之一就是“為平臺帶來更好的性能和效率表現”。
凍結緩存應用
在 Android 14 之前,緩存的應用可以基本不受限制地運行。在 Android 14 中,系統會在應用進入緩存后很短的時間內將其凍結,其 CPU 時間降為零。
在 Android 14 Beta 上,相關緩存進程消耗的 CPU 周期要比 Android 13 正式版設備上少 50%。
因此,常規的 Android 應用生命周期 API (如前臺服務、JobScheduler 或 WorkManager)之外的后臺工作將被禁止。
廣播優化
為了讓被凍結的應用更長時間保持凍結狀態(比如不會獲得 CPU 時間),官方調整了應用進入緩存狀態后對上下文注冊的廣播的接收方式。
更快地應用啟動速度
隨著 Android 14 對緩存應用和廣播優化措施一并到來的,是“得以打破平臺緩存應用數量的長期限制”,Android 14 減少了冷啟動應用的情況,而且設備 RAM 越大“改善就越明顯”。
在 8GB RAM 的設備上,Beta 測試組的冷啟動應用減少了 20%,而在 12GB RAM 的設備上則減少了 30%。與熱啟動相比,冷啟動速度較慢,而且耗電量更大。這項工作有效地改善了電量消耗和整體應用啟動時間。
減少內存足跡
改進 Android 運行時 (Android Runtime, ART) 對 Android 用戶體驗影響巨大。
代碼大小是谷歌的關鍵指標之一:生成的文件越小,對內存 (包括 RAM 和存儲空間) 的占用就越小。在 Android 14 中,ART 可將代碼尺寸平均減小 9.3% 且不影響性能。
定制化
定制化體驗是 Android 的核心基因,官方表示,Android 14 將進一步圍繞用戶的定制化體驗,從而改進了無障礙和國際化功能。
非線性字體放大
從 Android 14 開始,用戶可以將字體放大到 200%。
此前,Pixel 設備上的字體最多能放大至 130%。系統會采用非線性的放大曲線,讓屏幕上大文本元素的放大速度和小文本元素速度不同,從而防止大文本元素被過分放大。
▲ (左)100% 字體尺寸(中) 線性放大至 200% (右)非線性放大至 200%,圖源 谷歌
各應用語言偏好設定
開發者可以使用 LocaleManager.setOverrideLocaleConfig 動態更新應用的 localeConfig,以自行定義在 Android 設置頁面中各個應用語言列表中的語言清單。
IME 現在可以使用 LocaleManager.getApplicationLocales 獲取當前應用的界面語言,從而更新鍵盤語言。
從 Android Studio Giraffe 和 AGP 8.1 開始,開發者還可以對應用進行配置,讓其自動支持 Android 13 各應用語言偏好設定。
新的媒體功能
▲ 圖源 谷歌
Android 14 現在支持 10 位高動態范圍 (HDR)圖像以及超強 HDR 圖像格式。該格式完全向后兼容 JPEG,應用可以無縫使用 HDR 圖像,并根據需要使用標準動態范圍來呈現它們。
超強 HDR 圖像格式
Android 14 升級和改進了相機擴展功能,讓應用支持更長的處理時間,通過計算密集型算法改善成像品質。
無損 USB 音頻
Android 14 設備支持無損音頻格式,讓您可以通過 USB 有線耳機獲得發燒級的音頻體驗
新的圖形功能
Android 14 新增了對自定義網格的支持,這些網格可以被定義為三角形或三角形帶,還能根據需要支持索引。這些網格使用 AGSL 編寫,包含自定義屬性、頂點跨度、varying 變量和頂點 / 片段著色器。
Canvas 硬件緩沖渲染器
Android 14 引入了 HardwareBufferRenderer,讓 Android 的 Canvas API 在 HardwareBuffer 中繪制時得以使用硬件加速功能。當用例涉及到通過 SurfaceControl 與系統合成器通信以實現低延遲繪制時,此功能會特別有用。
跨設備以及多尺寸屏幕開發
Android 14 在 Android 12L 和 13 的基礎上,繼續對平板電腦和可折疊設備帶來良好的支持: 比如讓任務欄更好地支持多任務、發布針對大屏幕優化的系統應用和通知界面、Activity 嵌入,改進了信箱模式和媒體投屏等。
提升生產力
Android 14 中的許多更新會讓用戶的開發體驗更一致、更有趣,也更高效。這些更新中的許多內容也會通過 Google Play 系統更新、Jetpack 開發庫和 Google Play 服務在之前的平臺版本上提供,便于覆蓋更多的用戶。
OpenJDK 17 支持
借助 Google Play 系統更新 (Project Mainline),超過 6 億臺設備得以收到隨 Android 14 一同發布的最新 Android Runtime (ART) 更新。
Google Play 系統更新
憑據管理器和通行密鑰
憑據管理器是新的 Jetpack API,它可通過單一 API 支持多種登錄方法,如用戶名和密碼、通行密鑰 (Passkey) 和聯合登錄解決方案 (如使用 Google 賬號登錄),從而幫助開發者簡化集成過程。憑據管理器可以通過谷歌 Play 服務一直向下支持到 Android 4.4 (API 級別 19)。
Health Connect
Health Connect 是一個由用戶控制的,用于存放用戶健康和健身數據的設備端內容庫,它讓實現跨應用和跨設備的集成健康和健身體驗變得前所未有的簡單。Health Connect 是 Android 平臺的一部分,通過 Google Play 系統更新進行升級,無需單獨下載。在更早的設備上則以應用的形式提供,可通過谷歌 Play 商店下載。
▲ 圖源 谷歌
更強大的系統 Sharesheet
Android 14 的系統 Sharesheet 可添加自定義動作,并改進了共享目標的排名機制,讓您的應用可以輕松為用戶提供豐富、一致的共享體驗。
提高直接共享目標的排名
Android 14 更新了聲明前臺服務類型和請求特定類型權限的要求。
Google Play 服務也推出了新政策,以確保開發者合理使用這些 API。官方還新增了用戶發起的數據傳輸作業類型,可以為 JobScheduler 設置約束條件,從而簡化用戶發起的大型上傳和下載的管理(如設置網絡約束條件,僅允許通過未計量的 Wi-Fi 進行下載)。
用戶體驗
預測性返回
繼 Android 13 引入“返回主屏幕”動畫后,Android 14 引入了新的跨 Activity 和跨任務的預測性(Predictive Back)系統動畫。該系統動畫目前仍可在開發者選項中手動啟用,以便留出時間進行更多打磨,并讓更多應用選擇對預測性返回進行適配。Material 和 Jetpack 庫目前已提供預測性返回動畫供大家使用。
隱私和安全
用戶將在位置信息的運行時授權對話框中看到一塊新的描述,用于突出顯示應用與第三方共享位置數據的情況,用戶可以了解更多信息并控制應用對數據的訪問。
▲ 圖源 谷歌
對照片和視頻授予部分訪問權限
在 Android 14(API 級別 34)中,當應用請求 Android 13(API 級別 33)中引入的任何視覺媒體權限(READ_MEDIA_IMAGES 或 READ_MEDIA_VIDEO)時,用戶可以授予對其照片和視頻的部分訪問權限。我們建議您在應用中采用最新的最佳實踐方案來適配此項變更。
后臺啟動 Activity
Android 10 (API 級別 29) 及以上版本對在后臺運行的應用啟動 Activity 的時機施加了限制。為進一步減少中斷用戶體驗的情況,以 Android 14 為目標平臺的應用在發送 PendingIntent 或綁定服務時,需要授予啟動特權才能在后臺啟動 Activity。
阻止安裝使用舊版 SDK 的應用
為防止惡意軟件利用舊版 API 繞過最新的安全和隱私保護措施,從 Android 14 開始,targetSdkVersion 低于 23 的應用將無法安裝。
運行時接收器
以 Android 14 為目標平臺的應用必須說明動態 Context.registerReceiver () 的使用是否應被視為 "導出" 或 "未導出"。這是以前版本中清單級工作的延續,請訪問官方文檔了解詳細信息:
安全的全屏 Intent 通知
由于全屏 Intent 通知是專為需要用戶立即關注的極高優先級通知而設計的,因此 Android 14 將只允許提供通話和鬧鐘功能的應用在安裝時獲取該權限。您的應用可以啟動設置頁面讓用戶完成授權。
更安全的動態代碼加載
以 Android 14 為目標平臺的應用動態加載的文件需要標記為只讀。請訪問官方
更安全的隱式 Intent
以 Android 14 為目標平臺的應用在使用隱式 Intent 創建可變的 PendingIntent 時將拋出一個異常,以防它們被用來觸發意外的代碼路徑。
應用兼容性
在發布新的平臺版本時,官方表示“會優先考慮應用的兼容性”,以“讓更新過程更快、更順暢”。
在 Android 14 中,大多數面向應用的變更依然是可選的,這樣能為大家提供更多的時間進行調整和適配,直到開發者將應用的 targetSdkVersion 升級為 34。我們還更新了工具和流程,幫助大家更快地做好準備。
更輕松地針對變更進行測試和調試
為了讓開發者更輕松地測試可能會影響應用的可選變更,官方今年依然為許多變更提供了開關選項。可以在“開發者選項”或 adb 中“單獨強制啟用或停用這些變更”。
▲ 開發者選項中的應用兼容性開關,圖源 谷歌
官方聲稱,如果您是 SDK、開發庫、工具和游戲引擎的開發者,現在發布必要的更新相當重要:
您的更新能讓下游的應用和游戲開發者免遭兼容性問題困擾,并能及時引入最新的 SDK 功能特性。因此,請務必在發布了 Android 14 所必需的兼容性更新后,及時告知您的下游開發者們。
只需在運行 Android 14 的設備上,通過 Google Play 或其他來源安裝您的正式版應用即可開始測試。請測試應用的所有流程,找出功能或用戶界面中暴露的問題。請通過行為變更清單(針對所有應用)來確定測試重點
隨著 Android 每個版本的發布,我們都會對平臺進行整體的改進,以強化隱私和安全,并優化整個操作系統的用戶體驗,這些都可能會影響到您的應用。
參考