作者 / Seang Chau, VP of Engineering
今天,我們將 Android 13 的源代碼推送至 Android 開源項(xiàng)目 (AOSP),并正式發(fā)布最新版本的 Android。對(duì)于開發(fā)者來(lái)說(shuō),Android 13 聚焦于我們的核心主題,即隱私和安全,以及開發(fā)者生產(chǎn)力,幫助您更輕松地為用戶構(gòu)建優(yōu)良的體驗(yàn)。我們還繼續(xù)使 Android 成為更適合平板電腦和大屏幕設(shè)備的操作系統(tǒng),為您提供更好的工具,讓您得以充分利用世界各地正在廣泛使用的 2.7 億多臺(tái)此類設(shè)備。
Android 13 自即日起會(huì)推送至 Pixel 設(shè)備。今年晚些時(shí)候,Android 13 也會(huì)推送至其他您喜愛(ài)的設(shè)備,包括三星 Galaxy、華碩、HMD (諾基亞手機(jī))、iQOO、摩托羅拉、一加、OPPO、真我、夏普、索尼、TECNO、vivo、小米等。
再次感謝大家分享的測(cè)試反饋,以及您為確保應(yīng)用與今天的版本兼容所做的工作。是大家的支持和貢獻(xiàn)讓 Android 成為了屬于每一個(gè)人的偉大平臺(tái)!
Android 13 為開發(fā)者帶來(lái)了什么?
Android 13 帶來(lái)的更新內(nèi)容眾多,下文只是精選的一部分。
開發(fā)者生產(chǎn)力和工具
主題應(yīng)用圖標(biāo)- Android 13 將 Material You 的動(dòng)態(tài)顏色擴(kuò)展到了所有應(yīng)用圖標(biāo),讓用戶可以基于其壁紙和其他主題偏好來(lái)選擇圖標(biāo)色調(diào)。您的應(yīng)用僅需提供一個(gè)單色的應(yīng)用圖標(biāo),并對(duì)自適應(yīng)圖標(biāo) XML 進(jìn)行一些調(diào)整即可。
按應(yīng)用設(shè)定語(yǔ)言偏好- Android 13 可以讓應(yīng)用使用不同于系統(tǒng)語(yǔ)言的其他語(yǔ)言,以更好地滿足多語(yǔ)言用戶的需求。Android 現(xiàn)在為應(yīng)用提供了一個(gè)標(biāo)準(zhǔn)的 "應(yīng)用語(yǔ)言" 設(shè)置面板 (如果應(yīng)用選擇支持此功能),您還可以調(diào)用一個(gè)新的平臺(tái) API,在運(yùn)行時(shí)獲取或設(shè)置用戶的首選語(yǔ)言區(qū)域,從而減少模板代碼并提高兼容性。
改進(jìn)的文本支持 - Android 13 針對(duì)文本和語(yǔ)言提供了多項(xiàng)改進(jìn),幫助您打造更加完美的體驗(yàn)。更快的斷字將斷字性能優(yōu)化了多達(dá) 200%,因此您現(xiàn)在可以在 TextView 中啟用此功能,這幾乎不影響渲染性能。通過(guò)使用文本轉(zhuǎn)換 API,能讓中文、日文等需要使用拼音輸入的語(yǔ)言在執(zhí)行搜索和自動(dòng)完成等功能時(shí)的速度更快。Android 13 還改善了非拉丁文字 (如泰米爾語(yǔ)、緬甸語(yǔ)、泰盧固語(yǔ)和藏語(yǔ)等) 的行高,讓字符免于被裁切且更加易于閱讀。
彩色矢量字體 - Android 13 增加了對(duì) COLR 版本 1 (請(qǐng)參考詳細(xì)規(guī)格和介紹視頻) 字體的渲染支持,并將系統(tǒng)表情符號(hào)更新為 COLRv1 格式。COLRv1 是一種新的、高度緊湊的字體格式,在任何尺寸下都能快速清晰地渲染。對(duì)于大多數(shù)應(yīng)用,這項(xiàng)修改完全無(wú)法被感知到,系統(tǒng)會(huì)自動(dòng)處理好一切。
快捷設(shè)置放置 API - 對(duì)于提供自定義快捷設(shè)置 (Quick Settings) 圖塊的應(yīng)用,Android 13 能讓用戶更容易發(fā)現(xiàn)和添加您的圖塊。借助新的圖塊放置 API,您的應(yīng)用現(xiàn)在可以讓用戶通過(guò)對(duì)話框直接添加您的自定義快捷設(shè)置圖塊,而且只需一步即可完成操作,不需要離開您的應(yīng)用。
可編程著色器 (shader) - Android 13 引入了可編程 RuntimeShader 對(duì)象,其行為使用 Android 圖形著色語(yǔ)言 (Android Graphics Shading Language, AGSL) 定義。您可以使用這些著色器在自己的應(yīng)用中實(shí)現(xiàn)波紋、模糊和過(guò)度滾動(dòng)拉伸,以及類似的高級(jí)效果。
基于 PlaybackState 的媒體控件 - 對(duì)于以 Android 13 為目標(biāo)平臺(tái)的應(yīng)用,系統(tǒng)基于 PlaybackState 操作清單實(shí)現(xiàn)了更豐富的媒體控件,從而在手機(jī)和平板電腦等設(shè)備類型上獲得更佳的一致性,并和 Android Auto 和 Android TV 等其他 Android 平臺(tái)保持一致。
藍(lán)牙低功耗 (LE) 音頻 - 低功耗 (Low Energy, LE) 音頻是用于實(shí)現(xiàn)新的用例的下一代無(wú)線音頻。用戶可以通過(guò)它與朋友和家人分享和廣播自己的音頻,或訂閱公共廣播以獲得信息、娛樂(lè)或無(wú)障礙輔助信息。它旨在確保用戶能夠在不犧牲電池壽命的情況下接收高保真音頻,并在不同用例之間無(wú)縫切換。Android 13 增加了對(duì)低功耗音頻的內(nèi)置支持,開發(fā)者們可在兼容的設(shè)備上使用這項(xiàng)新功能。、
MIDI 2.0 - Android 13 增加了對(duì)新的 MIDI 2.0 標(biāo)準(zhǔn)的支持,包括通過(guò) USB 連接 MIDI 2.0 硬件的能力。這個(gè)更新的標(biāo)準(zhǔn)提供了一些新功能,如更高的控制器分辨率,更好地支持非西方音調(diào),以及通過(guò)單一音符控制器提供更佳的表現(xiàn)力。
OpenJDK 11 更新 - Android 13 核心庫(kù)已經(jīng)與 OpenJDK 11 LTS 版本保持一致,為應(yīng)用和平臺(tái)開發(fā)者提供庫(kù)更新和 Java 11 編程語(yǔ)言支持。作為對(duì) Android 12 及以上設(shè)備的 ART 模塊更新的一部分,我們計(jì)劃通過(guò) Google Play 系統(tǒng)更新將這些核心庫(kù)的變更發(fā)布至更多設(shè)備。請(qǐng)?jiān)L問(wèn)官方文檔了解詳細(xì)信息:
https://developer.android.google.cn/about/versions/13/features#core-libraries
預(yù)測(cè)性返回手勢(shì) - Android 13 引入了新的 API,可讓您的應(yīng)用告訴系統(tǒng)它將提前處理返回事件,我們稱之為 "提前" 模型。這個(gè)新方案會(huì)需要若干年來(lái)完善,以幫助您的應(yīng)用程序支持預(yù)測(cè)性返回手勢(shì),該功能現(xiàn)在可通過(guò)開發(fā)者選項(xiàng)在當(dāng)前版本中進(jìn)行測(cè)試。
為平板電腦而生
Android 13 進(jìn)一步拓展了我們今年早些時(shí)候發(fā)布的 Android 12L 功能更新,在平板電腦上提供了更好的體驗(yàn)。我們強(qiáng)化了一些功能,包括針對(duì)多任務(wù)操作改進(jìn)過(guò)的任務(wù)欄,更多針對(duì)大屏幕的布局,以及針對(duì)系統(tǒng)界面和應(yīng)用進(jìn)行了許多優(yōu)化,應(yīng)用兼容模式也得到了改進(jìn),等等。我們將繼續(xù)投入資源為您打造工具,幫助您為平板電腦、Chromebook 和可折疊設(shè)備構(gòu)建優(yōu)良的體驗(yàn)。
照片選擇器和 API - 全新的系統(tǒng)照片選擇器為用戶分享本地和云端照片提供了標(biāo)準(zhǔn)且私密的方式。照片選擇器針對(duì) Android 上長(zhǎng)期使用的文檔選擇器進(jìn)行了擴(kuò)展,使用戶可以很容易地與應(yīng)用分享特定的照片和視頻,而無(wú)需授權(quán)應(yīng)用查看設(shè)備上的所有媒體文件。照片選擇器為照片和視頻提供了專門的體驗(yàn),并提供了供應(yīng)用訪問(wèn)共享媒體文件的 API。Android 11 及以上系統(tǒng)設(shè)備 (Go 設(shè)備除外) 的用戶會(huì)通過(guò) Google Play 系統(tǒng)更新獲得照片選擇器功能。
通知權(quán)限 - 為了幫助用戶專注于對(duì)他們最重要的通知,Android 13 引入了一個(gè)新的通知運(yùn)行時(shí)權(quán)限。現(xiàn)在應(yīng)用需要在發(fā)送通知之前向用戶申請(qǐng)通知權(quán)限。對(duì)于以 Android 12 或更低版本為目標(biāo)平臺(tái)的應(yīng)用,系統(tǒng)將代您處理升級(jí)流程。
針對(duì)附近 Wi-Fi 設(shè)備的權(quán)限 - Android 13 為管理設(shè)備與周圍 Wi-Fi 熱點(diǎn)連接的應(yīng)用引入了新的 NEARBY_WIFI_DEVICES 運(yùn)行時(shí)權(quán)限。許多常用的 Wi-Fi API 都需要這個(gè)新權(quán)限,從而讓應(yīng)用在不需要獲得定位權(quán)限的情況下即可通過(guò) Wi-Fi 發(fā)現(xiàn)并連接到附近的設(shè)備。
細(xì)化的媒體權(quán)限 - 在分享照片和視頻時(shí),照片選擇器現(xiàn)在是我們推薦的解決方案,它更加用戶友好,且無(wú)需請(qǐng)求權(quán)限。但對(duì)于尚未使用照片選擇器的應(yīng)用,或者需要訪問(wèn)音頻文件的場(chǎng)景,Android 13 也增加了新的更細(xì)化的媒體權(quán)限。這些媒體權(quán)限用以取代 READ_EXTERNAL_STORAGE 權(quán)限,讓應(yīng)用得以訪問(wèn)特定的媒體文件類型,包括圖片、視頻和音頻。我們強(qiáng)烈建議您在條件允許時(shí)使用照片選擇器方案,當(dāng)應(yīng)用以 Android 13 為目標(biāo)平臺(tái)且不適合使用該方案時(shí),則推薦使用細(xì)化的媒體權(quán)限。
開發(fā)者可降級(jí)權(quán)限 - 從 Android 13 開始,如果應(yīng)用不再需要某些之前由用戶授予過(guò)的權(quán)限,可以通過(guò)新的 API 來(lái)降級(jí)權(quán)限。通過(guò)移除不再使用的權(quán)限,您的應(yīng)用可以向用戶表明其只使用了必需的最少權(quán)限,從而提高用戶信任度。
更安全的導(dǎo)出 Intent 過(guò)濾器 - 在向以 Android 13 為目標(biāo)平臺(tái)的其他應(yīng)用的導(dǎo)出 intent 過(guò)濾器發(fā)送顯式 intent 時(shí),Android 13 給出了更嚴(yán)格的規(guī)則。如果 intent 指定了動(dòng)作,則系統(tǒng)只在該 intent 與接收應(yīng)用中聲明的 元素匹配時(shí)才會(huì)向?qū)С鼋M件傳遞 intent。
應(yīng)用性能
Android 13 通過(guò)對(duì) ART 運(yùn)行時(shí)的更新,提高了所有應(yīng)用的性能和效率。我們正在為 Android 12 及以上設(shè)備更新 ART 模塊,作為此項(xiàng)更新的一環(huán),我們也會(huì)通過(guò) Google Play 系統(tǒng)更新將這些性能改進(jìn)帶給更多的 Android 用戶。
垃圾回收改進(jìn) - 一個(gè)基于 Linux 內(nèi)核功能 userfaultfd 的新垃圾回收器會(huì)隨著即將到來(lái)的 Google Play 系統(tǒng)更新加入 Android 13 設(shè)備的 ART。新的垃圾回收器消除了讀取障礙,降低了每個(gè)對(duì)象加載的開銷,減少了內(nèi)存壓力,使得編譯后的代碼體積能減少約 10%。它在 GC 時(shí)間也更高效,因?yàn)榉猪?yè)會(huì)隨著壓縮的進(jìn)行而被釋放。總而言之,新的垃圾回收器有助于節(jié)省電量,避免在 GC 過(guò)程中出現(xiàn)卡頓,以及讓應(yīng)用免于在低內(nèi)存時(shí)被強(qiáng)行終止。
遍及整個(gè) ART 的優(yōu)化 - 在 Android 13 中,ART 讓切換到本地代碼的速度更快,反之亦然,現(xiàn)在 JNI 調(diào)用的速度可達(dá)之前的 2.5 倍。我們還重新設(shè)計(jì)了運(yùn)行時(shí)的引用處理,使其基本處于非阻塞狀態(tài),這進(jìn)一步減少了卡頓。我們公開了一個(gè)新的公共 API,Reference.refersTo(),讓您可以盡快回收無(wú)法抵達(dá)的對(duì)象,我們還優(yōu)化了類/方法的查找,從而讓解釋器的運(yùn)行更快。最后,ART 現(xiàn)在在安裝時(shí)會(huì)執(zhí)行更多的字節(jié)碼驗(yàn)證,避免了在運(yùn)行時(shí)驗(yàn)證的損耗,從而讓應(yīng)用能快速啟動(dòng)。
讓您的應(yīng)用做好準(zhǔn)備!
隨著今天 Android 13 正式發(fā)布至 AOSP,我們要求所有的 Android 開發(fā)者完成兼容性測(cè)試,并盡快發(fā)布更新,從而讓您的用戶能順利過(guò)渡至 Android 13。
只需在運(yùn)行 Android 13 的設(shè)備上安裝您的應(yīng)用,即可開始測(cè)試其兼容性。請(qǐng)測(cè)試應(yīng)用的所有流程,找出功能或用戶界面中暴露的問(wèn)題。
這里列出一些需要注意的變更:
通知的運(yùn)行時(shí)權(quán)限 - 請(qǐng)您務(wù)必了解新的權(quán)限在您的應(yīng)用發(fā)送通知時(shí)的工作機(jī)制,并盡快開始規(guī)劃針對(duì) Android 13 (API 33) 的相關(guān)工作,以讓用戶獲得良好的體驗(yàn)。
剪貼板預(yù)覽 - 請(qǐng)確保您的應(yīng)用在 Android 13 全新的剪貼板預(yù)覽中隱藏敏感數(shù)據(jù),比如密碼或信用卡信息。
JobScheduler 預(yù)提取 - JobScheduler 現(xiàn)在會(huì)預(yù)測(cè)您下次啟動(dòng)應(yīng)用的時(shí)機(jī),并提前運(yùn)行關(guān)聯(lián)的預(yù)提取作業(yè)。如果您有使用預(yù)提取作業(yè),請(qǐng)通過(guò)測(cè)試確保它們工作正常。
別忘了測(cè)試應(yīng)用中的開發(fā)庫(kù)和 SDK 的兼容性。如果您在測(cè)試中發(fā)現(xiàn) SDK 存在問(wèn)題,請(qǐng)嘗試更新 SDK 到最新版本,或向其開發(fā)者尋求幫助。
一旦您發(fā)布了當(dāng)前應(yīng)用的兼容版本,就可以開始更新應(yīng)用的 targetSdkVersion。請(qǐng)查閱行為變更清單 (針對(duì)面向 Android 13 的應(yīng)用),并使用兼容性框架工具來(lái)快速檢測(cè)問(wèn)題。
對(duì)平板電腦和大屏幕設(shè)備的支持
Android 13 為平板電腦帶來(lái)了更好的體驗(yàn),請(qǐng)確保您的應(yīng)用能活用這項(xiàng)優(yōu)勢(shì)。您可以通過(guò)在 Android Studio 中設(shè)置 Android 模擬器來(lái)測(cè)試大屏幕設(shè)備相關(guān)的功能,或者在我們的 Android 13 Beta 合作伙伴的大屏幕設(shè)備上進(jìn)行測(cè)試。
以下是一些測(cè)試時(shí)的注意點(diǎn):
任務(wù)欄交互 - 請(qǐng)檢查您的應(yīng)用在大屏幕上配合新任務(wù)欄時(shí)的交互情況,確保應(yīng)用的界面沒(méi)有被任務(wù)欄裁切或遮擋。
多窗口模式 - 無(wú)論應(yīng)用配置如何,所有的應(yīng)用現(xiàn)在默認(rèn)啟用多窗口模式,所以請(qǐng)確保應(yīng)用妥善處理分屏顯示。您可以通過(guò)拖放將您的應(yīng)用切換至分屏模式,并調(diào)整窗口大小來(lái)進(jìn)行測(cè)試。
改進(jìn)的兼容性體驗(yàn) - 如果您的應(yīng)用尚未針對(duì)平板電腦進(jìn)行優(yōu)化,比如使用固定的朝向、不支持縮放等,請(qǐng)檢查您的應(yīng)用在兼容模式下的表現(xiàn) (如信箱模式)。
媒體投影 - 如果您的應(yīng)用使用了媒體投影功能,請(qǐng)檢查您的應(yīng)用在媒體播放、串流,以及在大屏幕設(shè)備上投影時(shí)的情況。別忘了針對(duì)可折疊設(shè)備的狀態(tài)切換進(jìn)行適配。
相機(jī)預(yù)覽 - 針對(duì)相機(jī)應(yīng)用,請(qǐng)檢查相機(jī)預(yù)覽界面在大屏幕設(shè)備的多窗口模式或分屏模式中,應(yīng)用被限制在屏幕的局部區(qū)域時(shí)的表現(xiàn)。同樣也別忘了針對(duì)可折疊設(shè)備的狀態(tài)切換進(jìn)行適配。
下一步
Android 13 自即日起會(huì)推送至 Pixel 設(shè)備。
如果您已經(jīng)參加了 Android Beta 版測(cè)試,您將會(huì)自動(dòng)獲得 Android 13 的正式版,并會(huì)在后續(xù)的 Android 13 功能更新 (今年晚些發(fā)布) 中繼續(xù)獲得這些功能的 Beta 版更新。如果您不想繼續(xù)接收 Beta 版更新且不希望刷寫自己的設(shè)備,請(qǐng)?jiān)讷@取完 Android 13 正式版后,并在 Android 13 的第一個(gè)功能更新 Beta 版發(fā)布之前在 Android Beta 測(cè)試站點(diǎn)退出測(cè)試即可:
適用于 Pixel 設(shè)備的系統(tǒng)映像已經(jīng)發(fā)布,您可以下載并刷入設(shè)備。您也可以通過(guò) Android Studio 的 SDK 管理器獲得最新的 Android 模擬器系統(tǒng)映像。如果您需要 Android 13 的源代碼,可以在 Android 開源項(xiàng)目 (AOSP) repo 里的 Android 13 分支里獲取。
再次感謝您參與我們的早期體驗(yàn)測(cè)試和 Beta 版測(cè)試!我們已經(jīng)迫不及待想在 Android 13 上看到您的應(yīng)用了!
審核編輯:湯梓紅
-
Android
+關(guān)注
關(guān)注
12文章
3923瀏覽量
127136 -
開源
+關(guān)注
關(guān)注
3文章
3251瀏覽量
42402 -
AOSP
+關(guān)注
關(guān)注
0文章
16瀏覽量
6189 -
Pixel
+關(guān)注
關(guān)注
1文章
237瀏覽量
9985
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論