作者 | GPT-3.5 責(zé)編 | 夢(mèng)依丹
出品 | CSDN(ID:CSDNnews)

Android 14 已正式發(fā)布,其源代碼已上傳至 Android 開(kāi)源項(xiàng)目(AOSP)。Android 14 旨在提升開(kāi)發(fā)者的工作效率,同時(shí)增強(qiáng)性能、隱私、安全性,以及用戶的個(gè)性化體驗(yàn)。
從發(fā)布之日開(kāi)始,Android 14 將逐步推向部分 Pixel 設(shè)備,而在今年晚些時(shí)候,您還可以在一些您喜愛(ài)的設(shè)備上找到它,包括三星 Galaxy、iQOO、Nothing、OnePlus、Oppo、Realme、Sharp、Sony、Tecno、vivo 和小米。
本文重點(diǎn)介紹了對(duì)開(kāi)發(fā)者影響最大的 Android 14 變化。要查看 Android 14 的所有變更,請(qǐng)?jiān)L問(wèn) Android 14 開(kāi)發(fā)者網(wǎng)站:https://developer.android.com/about/versions/14。

性能與效率
Android 14 的一個(gè)主要關(guān)注點(diǎn)是提升平臺(tái)的性能和效率。
凍結(jié)緩存應(yīng)用
在 Android 14 之前,緩存應(yīng)用程序的運(yùn)行相對(duì)自由。而在 Android 14 中,我們會(huì)在一段時(shí)間后凍結(jié)這些緩存應(yīng)用,使它們不再占用 CPU 時(shí)間。在 Android 14 Beta 版本中,我們發(fā)現(xiàn)相比于 Android 13 公開(kāi)設(shè)備,緩存進(jìn)程的 CPU 使用量降低了高達(dá) 50%。因此,除了傳統(tǒng)的 Android 應(yīng)用生命周期 API,如前臺(tái)服務(wù)、JobScheduler 或 WorkManager,后臺(tái)工作將受到限制。
廣播優(yōu)化
為了延長(zhǎng)緩存應(yīng)用程序的凍結(jié)時(shí)間(即不獲得 CPU 時(shí)間),我們調(diào)整了應(yīng)用程序在進(jìn)入緩存狀態(tài)后接收上下文注冊(cè)廣播的方式;這些廣播可能會(huì)被排隊(duì),并且重復(fù)的廣播,如電池狀態(tài)改變(BATTERY_CHANGED),可能會(huì)合并成一個(gè)廣播。
更快的應(yīng)用啟動(dòng)
通過(guò)對(duì)緩存應(yīng)用和廣播進(jìn)行優(yōu)化,Android 14 增加了平臺(tái)中緩存應(yīng)用的最大數(shù)量的長(zhǎng)期限制,從而減少了冷啟動(dòng)應(yīng)用的次數(shù),而這一改進(jìn)將根據(jù)設(shè)備的內(nèi)存容量而擴(kuò)展。在 8GB 設(shè)備上,測(cè)試團(tuán)隊(duì)看到冷啟動(dòng)應(yīng)用的數(shù)量減少了 20%,而在 12GB 設(shè)備上減少了超過(guò) 30%。冷啟動(dòng)相對(duì)于熱啟動(dòng)來(lái)說(shuō)速度較慢,而且在電能方面成本較高。這一工作有效地改善了電能使用和整體應(yīng)用啟動(dòng)時(shí)間。
減少內(nèi)存占用
改進(jìn) Android 運(yùn)行時(shí)(ART)對(duì) Android 用戶體驗(yàn)有著重要影響。代碼大小是我們關(guān)注的關(guān)鍵指標(biāo)之一;生成的文件越小,對(duì)內(nèi)存(包括 RAM 和存儲(chǔ)空間)的影響就越小。在 Android 14 中,ART 包含了優(yōu)化措施,將代碼大小平均減少了 9.3%,而不會(huì)影響性能。

定制
定制一直是 Android 基因中的核心要素,而 Android 14 則延續(xù)了我們對(duì) Android 用戶的承諾,使他們能夠根據(jù)個(gè)人需求調(diào)整自己的使用體驗(yàn),包括增強(qiáng)的可訪問(wèn)性和國(guó)際化功能。
具有非非線性縮放功能的更大字體 - 從 Android 14 開(kāi)始,用戶能夠?qū)⒆煮w放大到 200%。之前,在 Pixel 設(shè)備上,最大的字體縮放比例為 130%。我們采用了非線性字體縮放曲線,以確保已經(jīng)足夠大的文本不會(huì)像較小的文本一樣以相同的速度增大。

每個(gè)應(yīng)用的語(yǔ)言偏好設(shè)置 - 您可以使用 LocaleManager.setOverrideLocaleConfig 動(dòng)態(tài)更新應(yīng)用的 localeConfig,用來(lái)自定義 Android 設(shè)置中每個(gè)應(yīng)用的語(yǔ)言列表中顯示的語(yǔ)言集。輸入法編輯器 (IME) 現(xiàn)在可以使用 LocaleManager.getApplicationLocales 來(lái)了解當(dāng)前應(yīng)用的界面語(yǔ)言,以便更新鍵盤(pán)語(yǔ)言。從 Android Studio Giraffe 和 AGP 8.1 開(kāi)始,您可以配置您的應(yīng)用以自動(dòng)支持 Android 13 的每個(gè)應(yīng)用的語(yǔ)言偏好。
區(qū)域偏好設(shè)置 - 區(qū)域偏好設(shè)置允許用戶個(gè)性化溫度單位、每周的第一天以及數(shù)字系統(tǒng)。
Grammatical Inflection - Grammatical Inflection API 允許您更輕松地為使用有語(yǔ)法性別的語(yǔ)言的用戶添加支持。為了展示個(gè)性化的翻譯,您只需要為受影響的語(yǔ)言添加每個(gè)語(yǔ)法性別的翻譯并集成該 API。

新媒體功能
圖像的 Ultra HDR - Android 14 增加了對(duì) 10 位高動(dòng)態(tài)范圍(HDR)圖像的支持,并支持超級(jí)高動(dòng)態(tài)范圍圖像格式。該格式與 JPEG 完全向后兼容,使應(yīng)用程序能夠與 HDR 圖像無(wú)縫交互。
相機(jī)擴(kuò)展中的縮放、對(duì)焦、后視圖等功能 - Android 14 升級(jí)并改進(jìn)了相機(jī)擴(kuò)展,允許應(yīng)用程序處理更長(zhǎng)的處理時(shí)間,從而在支持的設(shè)備上使用計(jì)算密集型算法,例如低光條件下的攝影,以獲得更出色的圖像。
無(wú)損 USB 音頻 - Android 14 設(shè)備可以支持無(wú)損音頻格式,從而實(shí)現(xiàn)了通過(guò)USB有線耳機(jī)獲得音樂(lè)發(fā)燒友級(jí)別的音頻體驗(yàn)。

新的圖形能力
使用頂點(diǎn)和片段著色器的自定義網(wǎng)格 - Android 14 增加了對(duì)自定義網(wǎng)格的支持,這些網(wǎng)格可以定義為三角形或三角形條帶,并且可以選擇進(jìn)行索引。這些網(wǎng)格是通過(guò)自定義屬性、頂點(diǎn)步幅、varying,以及在 AGSL 中編寫(xiě)的頂點(diǎn)/片段著色器來(lái)指定的。
Canvas 的硬件緩沖渲染器 - Android 14 引入了 HardwareBufferRenderer 來(lái)協(xié)助使用 Android 的 Canvas API 以硬件加速的方式繪制到 HardwareBuffer 中。這在您的使用情況涉及通過(guò) SurfaceControl 與系統(tǒng)合成器進(jìn)行低延遲繪制時(shí)特別有幫助。

跨形態(tài)開(kāi)發(fā)
Android 14 在 Android 12L 和 13 中的工作基礎(chǔ)上,支持平板電腦和可折疊外形因素,包括支持增強(qiáng)多任務(wù)處理的任務(wù)欄、大屏幕優(yōu)化的系統(tǒng)應(yīng)用和通知界面、活動(dòng)嵌入、增強(qiáng)型信函板、改進(jìn)的媒體投影等功能。我們提供了適用于大屏幕的應(yīng)用質(zhì)量指導(dǎo),以及關(guān)于為大屏幕和可折疊設(shè)備開(kāi)發(fā)的額外學(xué)習(xí)機(jī)會(huì),幫助您優(yōu)化應(yīng)用在所有 Android 設(shè)備上的表現(xiàn)。此外,大屏幕設(shè)計(jì)畫(huà)廊還包括了社交與通訊、媒體、生產(chǎn)力、購(gòu)物和閱讀應(yīng)用的設(shè)計(jì)模式和靈感。

提高生產(chǎn)力
Android 14 包含了許多更新,專注于使您的開(kāi)發(fā)體驗(yàn)更加一致、有趣和高效。這些更新中的許多通過(guò)結(jié)合使用Google Play系統(tǒng)更新、Jetpack庫(kù)和Google Play服務(wù),已經(jīng)在較舊的平臺(tái)版本上提供,因此您可以借此觸達(dá)更多用戶。
OpenJDK 17 支持 - 得益于 Google Play 系統(tǒng)更新(Project Mainline),超過(guò) 6 億臺(tái)設(shè)備都能夠接收到隨 Android 14一同發(fā)布的最新 Android 運(yùn)行時(shí)(ART)更新。
憑據(jù)管理器和密碼匙支持 - 憑據(jù)管理器是一種新的 Jetpack API,它支持多種登錄方法,包括用戶名和密碼、密碼匙以及聯(lián)合登錄解決方案(例如,與谷歌一起登錄),全部集成在一個(gè)API中,從而簡(jiǎn)化了您的集成過(guò)程。通過(guò)使用Google Play 服務(wù),Credential Manager 支持回溯至 Android 4.4(API級(jí)別19)。
Health Connect - Health Connect 是一個(gè)由用戶控制的設(shè)備上存儲(chǔ)用戶健康和健身數(shù)據(jù)的倉(cāng)庫(kù),它使得跨應(yīng)用程序和連接設(shè)備之間實(shí)現(xiàn)集成的健康和健身體驗(yàn)變得比以往更加容易。Health Connect 是 Android 平臺(tái)的一部分,通過(guò) Google Play 系統(tǒng)更新進(jìn)行更新,無(wú)需單獨(dú)下載,同時(shí)也可在 Google Play 商店上作為應(yīng)用提供給舊版設(shè)備。
卓越的系統(tǒng)共享表 - 為了讓您的應(yīng)用程序用戶獲得豐富、一致的共享體驗(yàn),Android 14 中的系統(tǒng)共享表可以進(jìn)行自定義操作和改進(jìn)排名的配置。
更一致、更可靠的前臺(tái)服務(wù) - 我們與三星等硬件制造商合作,旨在打造更一致的開(kāi)發(fā)者體驗(yàn)和更可靠的用戶體驗(yàn)。因此,Android 14 引入了新的要求,需要聲明前臺(tái)服務(wù)類(lèi)型并請(qǐng)求特定類(lèi)型的權(quán)限,同時(shí)我們也制定了 Google Play 政策來(lái)強(qiáng)制執(zhí)行這些 API 的適當(dāng)使用。此外,我們還新增了一種用戶發(fā)起的數(shù)據(jù)傳輸工作類(lèi)型,通過(guò)利用 JobScheduler 的約束條件(例如,無(wú)計(jì)量的 WiFi 等網(wǎng)絡(luò)約束條件),使用戶能夠更順暢地管理大型用戶發(fā)起的上傳和下載操作。

用戶體驗(yàn)
預(yù)測(cè)性返回 - Android 14 引入了新的預(yù)測(cè)性返回系統(tǒng)動(dòng)畫(huà),包括跨活動(dòng)和跨任務(wù)的動(dòng)畫(huà),以擴(kuò)展 Android 13 中引入的返回主頁(yè)動(dòng)畫(huà)。這些系統(tǒng)動(dòng)畫(huà)仍然處于開(kāi)發(fā)者選項(xiàng)之后,以便有更多的時(shí)間進(jìn)行進(jìn)一步的完善,并讓更多的應(yīng)用程序選擇使用預(yù)測(cè)性返回功能。Material 和 Jetpack 預(yù)測(cè)性返回動(dòng)畫(huà)已經(jīng)可以供用戶使用。

隱私和安全
數(shù)據(jù)共享更新 - 用戶將在位置運(yùn)行時(shí)權(quán)限對(duì)話框中看到一個(gè)新的部分,該部分突出顯示了應(yīng)用程序與第三方共享位置數(shù)據(jù)的情況,用戶可以在此獲取更多信息并控制應(yīng)用程序的數(shù)據(jù)訪問(wèn)。
照片和視頻的部分訪問(wèn)權(quán)限 - 當(dāng)您的應(yīng)用程序針對(duì) SDK 34 請(qǐng)求 SDK 33 引入的任何視覺(jué)媒體權(quán)限(READ_MEDIA_IMAGES / READ_MEDIA_VIDEO)時(shí),Android 14 用戶現(xiàn)在可以選擇只允許您的應(yīng)用程序訪問(wèn)特定的照片和視頻。為了使您的應(yīng)用程序適應(yīng)這一變化,我們建議您遵循我們最近的最佳實(shí)踐。
后臺(tái)活動(dòng)啟動(dòng) - Android 10(API 級(jí)別 29)及更高版本對(duì)應(yīng)用程序在后臺(tái)運(yùn)行時(shí)啟動(dòng)活動(dòng)的時(shí)間做出了限制。為了進(jìn)一步減少意外中斷的情況,針對(duì) Android 14 的應(yīng)用程序需要在發(fā)送 PendingIntent 或綁定服務(wù)時(shí)授予后臺(tái)啟動(dòng)活動(dòng)的權(quán)限。
阻止安裝舊版 SDK 的應(yīng)用程序 - 為了防止針對(duì)舊版 API 級(jí)別繞過(guò)安全和隱私保護(hù)措施的惡意軟件,Android 14 不允許安裝目標(biāo)SDK版本低于23的應(yīng)用程序。
運(yùn)行時(shí)接收器 - 針對(duì) Android 14 的應(yīng)用程序必須明確指示是否應(yīng)將動(dòng)態(tài) Context.registerReceiver() 的使用視為 "已導(dǎo)出" 或 "未導(dǎo)出",這是前幾個(gè)版本中清單級(jí)工作的延續(xù)。
安全的全屏意圖通知 - 由于全屏意圖通知設(shè)計(jì)用于極高優(yōu)先級(jí)的通知,要求用戶立即關(guān)注,因此 Android 14 僅在應(yīng)用安裝時(shí)授予權(quán)限給那些只提供通話和鬧鐘功能的應(yīng)用程序。您的應(yīng)用程序現(xiàn)在可以啟動(dòng)設(shè)置頁(yè)面,讓用戶授予權(quán)限。
更安全的動(dòng)態(tài)代碼加載 - 針對(duì) Android 14 的應(yīng)用程序要求將動(dòng)態(tài)加載的文件標(biāo)記為只讀。
更安全的隱式意圖 - 針對(duì) Android 14 的應(yīng)用程序,使用隱式意圖創(chuàng)建可變的待定意圖將引發(fā)異常,從而防止它們被用于觸發(fā)意外的代碼路徑。應(yīng)用程序需要將待定意圖設(shè)為不可變,或?qū)⒁鈭D設(shè)為顯式。

應(yīng)用程序兼容性
我們致力于通過(guò)優(yōu)先考慮應(yīng)用程序兼容性,使每個(gè)平臺(tái)發(fā)布的更新更加快速和平穩(wěn)。在 Android 14 中,我們將大多數(shù)影響應(yīng)用程序的變化設(shè)置為選擇性,直到您的應(yīng)用程序目標(biāo) SDK 版本達(dá)到 34,以便您有更多時(shí)間進(jìn)行必要的應(yīng)用程序更改。我們還更新了工具和流程,以幫助您更早地做好準(zhǔn)備。
更容易測(cè)試和調(diào)試更改 - 為了讓您更容易測(cè)試可能會(huì)影響您的應(yīng)用程序的選擇性更改,今年我們將再次提供許多開(kāi)關(guān)功能。通過(guò)這些開(kāi)關(guān),您可以從開(kāi)發(fā)者選項(xiàng)或使用 adb 單獨(dú)啟用或禁用這些更改。

為您的應(yīng)用程序、庫(kù)、工具和游戲引擎做好準(zhǔn)備!
現(xiàn)在是完成最終兼容性測(cè)試并發(fā)布任何必要更新以確保應(yīng)用程序體驗(yàn)順暢的時(shí)候了。
如果您開(kāi)發(fā)的是 SDK、庫(kù)、工具或游戲引擎,那么現(xiàn)在更重要的是發(fā)布任何必要的更新,以防止下游的應(yīng)用程序和游戲開(kāi)發(fā)人員受到兼容性問(wèn)題的阻礙,并讓他們能夠針對(duì)最新的 SDK 功能。請(qǐng)務(wù)必告知您的開(kāi)發(fā)人員是否需要更新以完全支持 Android 14。
測(cè)試您的應(yīng)用程序涉及將您的生產(chǎn)應(yīng)用程序安裝到運(yùn)行 Android 14 的設(shè)備上;您可以使用 Google Play 或其他方式。在所有應(yīng)用程序流程上進(jìn)行測(cè)試,查找功能或用戶界面方面的問(wèn)題。查看行為變更以便更集中地進(jìn)行測(cè)試。每個(gè) Android 版本都包含對(duì)平臺(tái)的變更,這些變更旨在改進(jìn)隱私、安全性和整體用戶體驗(yàn),而這些變更可能會(huì)影響您的應(yīng)用程序。以下是一些需要測(cè)試的主要變更:
允許對(duì)照片和視頻進(jìn)行部分訪問(wèn) - 在 Android 14 上,當(dāng)應(yīng)用程序請(qǐng)求 Android 13(API 級(jí)別 33)引入的任何可視媒體權(quán)限時(shí):READ_MEDIA_IMAGES 或 READ_MEDIA_VIDEO,用戶可以授予對(duì)其照片和視頻的部分訪問(wèn)權(quán)限。如果您的應(yīng)用程序已經(jīng)使用了照片選擇器,您無(wú)需采取任何措施來(lái)支持此更改。否則,您應(yīng)該使用新的 READ_MEDIA_VISUAL_USER_selectED 權(quán)限來(lái)優(yōu)化用戶體驗(yàn)。
安全的全屏意圖通知 - 在 Android 14 上,創(chuàng)建全屏意圖通知的應(yīng)用程序僅限于提供電話和鬧鐘功能的應(yīng)用程序。對(duì)于不符合這個(gè)配置的應(yīng)用程序,Google Play 商店會(huì)撤銷(xiāo)默認(rèn)的 USE_FULL_SCREEN_INTENT 權(quán)限。
默認(rèn)情況下拒絕安排精確的通知 - 從 Android 14 開(kāi)始,SCHEDULE_EXACT_ALARM 權(quán)限不再被預(yù)先授予大多數(shù)針對(duì) Android 13 及更高版本的新安裝應(yīng)用程序,該權(quán)限默認(rèn)被拒絕。
非線性字體縮放至 200% - 從 Android 14 開(kāi)始,系統(tǒng)支持將小文字大小的字體縮放至 200%,為低視力用戶提供了符合 Web 內(nèi)容可訪問(wèn)性指南(WCAG)的附加可訪問(wèn)性選項(xiàng)。
切記在兼容性測(cè)試中使用應(yīng)用程序正在使用的庫(kù)和 SDK。您可能需要更新到當(dāng)前的 SDK 版本,或向開(kāi)發(fā)人員尋求幫助。
發(fā)布當(dāng)前應(yīng)用程序的兼容版本后,您就可以開(kāi)始更新應(yīng)用程序的 targetSdkVersion。查看應(yīng)用針對(duì) Android 14 時(shí)適用的行為變化,并使用兼容性框架幫助快速檢測(cè)問(wèn)題。
查看原文
該文章在 2023/10/25 16:42:37 編輯過(guò)