天天看點

提升性能與效率,Android 14 正式釋出

提升性能與效率,Android 14 正式釋出

【CSDN 編者按】Android 14 如期釋出,Android 工程副總裁 Dave Burke 發文詳細介紹了這一版本的新功能。

原文位址:https://android-developers.googleblog.com/2023/10/android-14-is-live-in-aosp.html

作者 | GPT-3.5   責編 | 夢依丹

出品 | CSDN(ID:CSDNnews)

Android 14 已正式釋出,其源代碼已上傳至 Android 開源項目(AOSP)。Android 14 旨在提升開發者的工作效率,同時增強性能、隐私、安全性,以及使用者的個性化體驗。

從釋出之日開始,Android 14 将逐漸推向部分 Pixel 裝置,而在今年晚些時候,您還可以在一些您喜愛的裝置上找到它,包括三星 Galaxy、iQOO、Nothing、OnePlus、Oppo、Realme、Sharp、Sony、Tecno、vivo 和小米。

本文重點介紹了對開發者影響最大的 Android 14 變化。要檢視 Android 14 的所有變更,請通路 Android 14 開發者網站:https://developer.android.com/about/versions/14。

性能與效率 

Android 14 的一個主要關注點是提升平台的性能和效率。

當機緩存應用 

在 Android 14 之前,緩存應用程式的運作相對自由。而在 Android 14 中,我們會在一段時間後當機這些緩存應用,使它們不再占用 CPU 時間。在 Android 14 Beta 版本中,我們發現相比于 Android 13 公開裝置,緩存程序的 CPU 使用量降低了高達 50%。是以,除了傳統的 Android 應用生命周期 API,如前台服務、JobScheduler 或 WorkManager,背景工作将受到限制。

廣播優化 

為了延長緩存應用程式的當機時間(即不獲得 CPU 時間),我們調整了應用程式在進入緩存狀态後接收上下文注冊廣播的方式;這些廣播可能會被排隊,并且重複的廣播,如電池狀态改變(BATTERY_CHANGED),可能會合并成一個廣播。

更快的應用啟動 

通過對緩存應用和廣播進行優化,Android 14 增加了平台中緩存應用的最大數量的長期限制,進而減少了冷啟動應用的次數,而這一改進将根據裝置的記憶體容量而擴充。在 8GB 裝置上,測試團隊看到冷啟動應用的數量減少了 20%,而在 12GB 裝置上減少了超過 30%。冷啟動相對于熱啟動來說速度較慢,而且在電能方面成本較高。這一工作有效地改善了電能使用和整體應用啟動時間。

減少記憶體占用 

改進 Android 運作時(ART)對 Android 使用者體驗有着重要影響。代碼大小是我們關注的關鍵名額之一;生成的檔案越小,對記憶體(包括 RAM 和存儲空間)的影響就越小。在 Android 14 中,ART 包含了優化措施,将代碼大小平均減少了 9.3%,而不會影響性能。

定制 

定制一直是 Android 基因中的核心要素,而 Android 14 則延續了我們對 Android 使用者的承諾,使他們能夠根據個人需求調整自己的使用體驗,包括增強的可通路性和國際化功能。

具有非非線性縮放功能的更大字型 - 從 Android 14 開始,使用者能夠将字型放大到 200%。之前,在 Pixel 裝置上,最大的字型縮放比例為 130%。我們采用了非線性字型縮放曲線,以確定已經足夠大的文本不會像較小的文本一樣以相同的速度增大。

提升性能與效率,Android 14 正式釋出

每個應用的語言偏好設定 - 您可以使用 LocaleManager.setOverrideLocaleConfig 動态更新應用的 localeConfig,用來自定義 Android 設定中每個應用的語言清單中顯示的語言集。輸入法編輯器 (IME) 現在可以使用 LocaleManager.getApplicationLocales 來了解目前應用的界面語言,以便更新鍵盤語言。從 Android Studio Giraffe 和 AGP 8.1 開始,您可以配置您的應用以自動支援 Android 13 的每個應用的語言偏好。

區域偏好設定 - 區域偏好設定允許使用者個性化溫度機關、每周的第一天以及數字系統。

Grammatical Inflection  - Grammatical Inflection API 允許您更輕松地為使用有文法性别的語言的使用者添加支援。為了展示個性化的翻譯,您隻需要為受影響的語言添加每個文法性别的翻譯并內建該 API。

新媒體功能

圖像的 Ultra HDR - Android 14 增加了對 10 位高動态範圍(HDR)圖像的支援,并支援超級高動态範圍圖像格式。該格式與 JPEG 完全向後相容,使應用程式能夠與 HDR 圖像無縫互動。

相機擴充中的縮放、對焦、後視圖等功能 - Android 14 更新并改進了相機擴充,允許應用程式處理更長的處理時間,進而在支援的裝置上使用計算密集型算法,例如低光條件下的攝影,以獲得更出色的圖像。

無損 USB 音頻 - Android 14 裝置可以支援無損音頻格式,進而實作了通過USB有線耳機獲得音樂發燒友級别的音頻體驗。

新的圖形能力

使用頂點和片段着色器的自定義網格 - Android 14 增加了對自定義網格的支援,這些網格可以定義為三角形或三角形條帶,并且可以選擇進行索引。這些網格是通過自定義屬性、頂點步幅、varying,以及在 AGSL 中編寫的頂點/片段着色器來指定的。

Canvas 的硬體緩沖渲染器 - Android 14 引入了 HardwareBufferRenderer 來協助使用 Android 的 Canvas API 以硬體加速的方式繪制到 HardwareBuffer 中。這在您的使用情況涉及通過 SurfaceControl 與系統合成器進行低延遲繪制時特别有幫助。

跨形态開發

Android 14 在 Android 12L 和 13 中的工作基礎上,支援平闆電腦和可折疊外形因素,包括支援增強多任務處理的工作列、大螢幕優化的系統應用和通知界面、活動嵌入、增強型信函闆、改進的媒體投影等功能。我們提供了适用于大螢幕的應用品質指導,以及關于為大螢幕和可折疊裝置開發的額外學習機會,幫助您優化應用在所有 Android 裝置上的表現。此外,大螢幕設計畫廊還包括了社交與通訊、媒體、生産力、購物和閱讀應用的設計模式和靈感。

提高生産力

Android 14 包含了許多更新,專注于使您的開發體驗更加一緻、有趣和高效。這些更新中的許多通過結合使用Google Play系統更新、Jetpack庫和Google Play服務,已經在較舊的平台版本上提供,是以您可以借此觸達更多使用者。

OpenJDK 17 支援 - 得益于 Google Play 系統更新(Project Mainline),超過 6 億台裝置都能夠接收到随 Android 14一同釋出的最新 Android 運作時(ART)更新。

憑據管理器和密碼匙支援 - 憑據管理器是一種新的 Jetpack API,它支援多種登入方法,包括使用者名和密碼、密碼匙以及聯合登入解決方案(例如,與谷歌一起登入),全部內建在一個API中,進而簡化了您的內建過程。通過使用Google Play 服務,Credential Manager 支援回溯至 Android 4.4(API級别19)。

Health Connect - Health Connect 是一個由使用者控制的裝置上存儲使用者健康和健身資料的倉庫,它使得跨應用程式和連接配接裝置之間實作內建的健康和健身體驗變得比以往更加容易。Health Connect 是 Android 平台的一部分,通過 Google Play 系統更新進行更新,無需單獨下載下傳,同時也可在 Google Play 商店上作為應用提供給舊版裝置。

卓越的系統共享表 - 為了讓您的應用程式使用者獲得豐富、一緻的共享體驗,Android 14 中的系統共享表可以進行自定義操作和改進排名的配置。

更一緻、更可靠的前台服務 - 我們與三星等硬體制造商合作,旨在打造更一緻的開發者體驗和更可靠的使用者體驗。是以,Android 14 引入了新的要求,需要聲明前台服務類型并請求特定類型的權限,同時我們也制定了 Google Play 政策來強制執行這些 API 的适當使用。此外,我們還新增了一種使用者發起的資料傳輸工作類型,通過利用 JobScheduler 的限制條件(例如,無計量的 WiFi 等網絡限制條件),使使用者能夠更順暢地管理大型使用者發起的上傳和下載下傳操作。

使用者體驗 

預測性傳回 - Android 14 引入了新的預測性傳回系統動畫,包括跨活動和跨任務的動畫,以擴充 Android 13 中引入的傳回首頁動畫。這些系統動畫仍然處于開發者選項之後,以便有更多的時間進行進一步的完善,并讓更多的應用程式選擇使用預測性傳回功能。Material 和 Jetpack 預測性傳回動畫已經可以供使用者使用。

隐私和安全

資料共享更新 - 使用者将在位置運作時權限對話框中看到一個新的部分,該部分突出顯示了應用程式與第三方共享位置資料的情況,使用者可以在此擷取更多資訊并控制應用程式的資料通路。

照片和視訊的部分通路權限 - 當您的應用程式針對 SDK 34 請求 SDK 33 引入的任何視覺媒體權限(READ_MEDIA_IMAGES / READ_MEDIA_VIDEO)時,Android 14 使用者現在可以選擇隻允許您的應用程式通路特定的照片和視訊。為了使您的應用程式适應這一變化,我們建議您遵循我們最近的最佳實踐。

背景活動啟動 - Android 10(API 級别 29)及更高版本對應用程式在背景運作時啟動活動的時間做出了限制。為了進一步減少意外中斷的情況,針對 Android 14 的應用程式需要在發送 PendingIntent 或綁定服務時授予背景啟動活動的權限。

阻止安裝舊版 SDK 的應用程式 - 為了防止針對舊版 API 級别繞過安全和隐私保護措施的惡意軟體,Android 14 不允許安裝目标SDK版本低于23的應用程式。

運作時接收器 - 針對 Android 14 的應用程式必須明确訓示是否應将動态 Context.registerReceiver() 的使用視為 "已導出" 或 "未導出",這是前幾個版本中清單級工作的延續。

安全的全屏意圖通知 - 由于全屏意圖通知設計用于極高優先級的通知,要求使用者立即關注,是以 Android 14 僅在應用安裝時授予權限給那些隻提供通話和鬧鐘功能的應用程式。您的應用程式現在可以啟動設定頁面,讓使用者授予權限。

更安全的動态代碼加載 - 針對 Android 14 的應用程式要求将動态加載的檔案标記為隻讀。

更安全的隐式意圖 - 針對 Android 14 的應用程式,使用隐式意圖建立可變的待定意圖将引發異常,進而防止它們被用于觸發意外的代碼路徑。應用程式需要将待定意圖設為不可變,或将意圖設為顯式。

應用程式相容性 

我們緻力于通過優先考慮應用程式相容性,使每個平台釋出的更新更加快速和平穩。在 Android 14 中,我們将大多數影響應用程式的變化設定為選擇性,直到您的應用程式目标 SDK 版本達到 34,以便您有更多時間進行必要的應用程式更改。我們還更新了工具和流程,以幫助您更早地做好準備。

更容易測試和調試更改 - 為了讓您更容易測試可能會影響您的應用程式的選擇性更改,今年我們将再次提供許多開關功能。通過這些開關,您可以從開發者選項或使用 adb 單獨啟用或禁用這些更改。

提升性能與效率,Android 14 正式釋出

為您的應用程式、庫、工具和遊戲引擎做好準備! 

現在是完成最終相容性測試并釋出任何必要更新以確定應用程式體驗順暢的時候了。

如果您開發的是 SDK、庫、工具或遊戲引擎,那麼現在更重要的是釋出任何必要的更新,以防止下遊的應用程式和遊戲開發人員受到相容性問題的阻礙,并讓他們能夠針對最新的 SDK 功能。請務必告知您的開發人員是否需要更新以完全支援 Android 14。

測試您的應用程式涉及将您的生産應用程式安裝到運作 Android 14 的裝置上;您可以使用 Google Play 或其他方式。在所有應用程式流程上進行測試,查找功能或使用者界面方面的問題。檢視行為變更以便更集中地進行測試。每個 Android 版本都包含對平台的變更,這些變更旨在改進隐私、安全性和整體使用者體驗,而這些變更可能會影響您的應用程式。以下是一些需要測試的主要變更:

允許對照片和視訊進行部分通路 - 在 Android 14 上,當應用程式請求 Android 13(API 級别 33)引入的任何可視媒體權限時:READ_MEDIA_IMAGES 或 READ_MEDIA_VIDEO,使用者可以授予對其照片和視訊的部分通路權限。如果您的應用程式已經使用了照片選擇器,您無需采取任何措施來支援此更改。否則,您應該使用新的 READ_MEDIA_VISUAL_USER_SELECTED 權限來優化使用者體驗。

安全的全屏意圖通知 - 在 Android 14 上,建立全屏意圖通知的應用程式僅限于提供電話和鬧鐘功能的應用程式。對于不符合這個配置的應用程式,Google Play 商店會撤銷預設的 USE_FULL_SCREEN_INTENT 權限。

預設情況下拒絕安排精确的通知 - 從 Android 14 開始,SCHEDULE_EXACT_ALARM 權限不再被預先授予大多數針對 Android 13 及更高版本的新安裝應用程式,該權限預設被拒絕。

非線性字型縮放至 200% - 從 Android 14 開始,系統支援将小文字大小的字型縮放至 200%,為低視力使用者提供了符合 Web 内容可通路性指南(WCAG)的附加可通路性選項。

切記在相容性測試中使用應用程式正在使用的庫和 SDK。您可能需要更新到目前的 SDK 版本,或向開發人員尋求幫助。 

釋出目前應用程式的相容版本後,您就可以開始更新應用程式的 targetSdkVersion。檢視應用針對 Android 14 時适用的行為變化,并使用相容性架構幫助快速檢測問題。

繼續閱讀