作者 / Dave Burke婆硬,工程副總裁
幾周后就是大家翹首以盼的 Google I/O 2021仑濒,我們已經(jīng)迫不及待想要和大家分享 Android 相關(guān)的最新消息了空骚!在這之前,我們?yōu)榇蠹規(guī)?lái)了 Android 12 最新的里程碑版本: 開(kāi)發(fā)者預(yù)覽版 3未檩,歡迎大家試用和分享反饋。
在 Android 12 中粟焊,我們繼續(xù)致力于讓操作系統(tǒng)更智能冤狡、更易用、更強(qiáng)勁项棠,并且始終以隱私和安全為核心悲雳。我們還會(huì)為您提供新的工具,幫助您為用戶打造更出色的體驗(yàn)香追,不論用戶使用的是手機(jī)合瓢、筆記本電腦、平板電腦透典、電視還是汽車歪玲。今天的開(kāi)發(fā)者預(yù)覽版中值得關(guān)注的新特性包括: 全新的應(yīng)用啟動(dòng)體驗(yàn);新的視頻和攝像頭功能掷匠,幫助您更好地釋放底層硬件能力滥崩;新的精確鬧鐘權(quán)限,以幫助用戶節(jié)省電量讹语。
請(qǐng)繼續(xù)閱讀本文了解更多發(fā)布亮點(diǎn)钙皮。如需了解本次預(yù)覽版的詳情,并獲取有關(guān)下載并安裝到 Pixel 設(shè)備的信息,請(qǐng)?jiān)L問(wèn) Android 12 開(kāi)發(fā)者網(wǎng)站短条。如果您已經(jīng)安裝了開(kāi)發(fā)者預(yù)覽版 2导匣,我們還將提供無(wú)線 (OTA) 更新。和以往一樣茸时,請(qǐng) 告訴我們您的想法贡定,再次感謝每一位用戶的寶貴反饋。
更好的用戶體驗(yàn)工具
今天發(fā)布的新版本為您帶來(lái)了新的工具可都,助您為用戶提供更加精美的體驗(yàn)和更好的性能缓待。下面介紹其中的一些亮點(diǎn)。
改進(jìn)的應(yīng)用啟動(dòng)體驗(yàn) - Android 12 中應(yīng)用啟動(dòng)的體驗(yàn)更加一致渠牲,更令人愉悅旋炒。我們?yōu)樗袘?yīng)用添加了新的應(yīng)用啟動(dòng)動(dòng)畫(huà),在啟動(dòng)時(shí)屏幕會(huì)顯示應(yīng)用圖標(biāo)签杈,并過(guò)渡到應(yīng)用本身瘫镇。新的體驗(yàn)為每個(gè)應(yīng)用的啟動(dòng)帶來(lái)了標(biāo)準(zhǔn)化的設(shè)計(jì)元素,但我們也允許進(jìn)行定制答姥,以便應(yīng)用保持自己獨(dú)特的品牌特色铣除。例如,您可以使用新的 SplashScreen (啟動(dòng)屏幕) API 和資源來(lái)管理啟動(dòng)屏幕的 背景顏色鹦付,用 自定義圖標(biāo) 或 動(dòng)畫(huà) 來(lái)替換靜態(tài)的啟動(dòng)圖標(biāo)尚粘,控制呈現(xiàn)應(yīng)用的時(shí)機(jī),指定這套體驗(yàn)是使用淺色模式或是深色模式睁壁,還可以 管理退出動(dòng)畫(huà)背苦。
所有應(yīng)用都已默認(rèn)啟用了這個(gè)新特性,您無(wú)需做任何事情即可獲益潘明。我們建議您在應(yīng)用中盡快測(cè)試這個(gè)新特性行剂,尤其是已經(jīng)在使用啟動(dòng)屏幕的應(yīng)用。歡迎大家查看新的 API 并開(kāi)始定制應(yīng)用啟動(dòng)體驗(yàn)钳降,并和我們分享使用反饋厚宰。請(qǐng)?jiān)L問(wèn) 官方文檔 了解詳細(xì)信息。
新的通話通知模板 - 正在撥入或進(jìn)行的通話對(duì)用戶來(lái)說(shuō)很重要遂填,它們需要易于查看和管理铲觉。在 Android 12 中,我們改進(jìn)了呼叫通知吓坚,提升了可見(jiàn)性撵幽,且更易于快速瀏覽,并加強(qiáng)了與其他通知組件的一致性礁击。如果您的應(yīng)用 (比如撥號(hào)器應(yīng)用或帶有視頻通話的聊天應(yīng)用) 能夠提供電話功能盐杂,不妨試試新增的 CallStyle 模板逗载。您可以用它來(lái)創(chuàng)建來(lái)電、呼出和屏蔽電話的通知链烈。每種類型都支持多種操作厉斟,包括默認(rèn)操作和應(yīng)用自定義操作。您還可以附加大型頭像圖片强衡,提供文字擦秽,并設(shè)置按鈕顏色。操作系統(tǒng)賦予了 CallStyle 通知高度的可見(jiàn)性漩勤,比如將它們置于通知區(qū)塊的頂部感挥。請(qǐng)?jiān)L問(wèn) 官方文檔 了解詳細(xì)信息。
精確鬧鐘的新權(quán)限 - 鬧鐘是應(yīng)用安排定時(shí)工作的重要方式锯七。在大多數(shù)情況下链快,應(yīng)用應(yīng)該使用 非精確鬧鐘 (inexact alarms)誉己,這樣可以減少電池消耗眉尸。Android 系統(tǒng)可以通過(guò) 低電耗模式 (Doze) 和應(yīng)用待機(jī)模式 (App Standby) 等機(jī)制管理這些鬧鐘,從而最大限度地減少設(shè)備喚醒和電池消耗巨双。對(duì)于那些需要精確鬧鐘的情況噪猾,例如鬧鈴應(yīng)用和定時(shí)器,您仍然可以使用 精確鬧鐘 (exact alarms)筑累。精確鬧鐘功能非常方便可靠袱蜡,但也會(huì)加大電量消耗,在過(guò)度使用的情況下尤其如此慢宗。所以在 Android 12 中坪蚁,我們正在做出一些改變,讓用戶擁有更多的控制權(quán)镜沽。
針對(duì) Android 12 的應(yīng)用如果想要使用精確鬧鐘敏晤,現(xiàn)在需要申請(qǐng)一個(gè)新的權(quán)限: SCHEDULE_EXACT_ALARM。這是一個(gè)一般權(quán)限缅茉,所以只要您的應(yīng)用在清單中進(jìn)行了聲明嘴脾,就會(huì)在第一次啟動(dòng)時(shí)被自動(dòng)授予該權(quán)限。不過(guò)蔬墩,我們也會(huì)讓用戶看到擁有這個(gè)權(quán)限的應(yīng)用译打,并讓他們通過(guò)設(shè)置中的特殊應(yīng)用權(quán)限 (Special App Access Permissions) 授予和撤銷這個(gè) "鬧鐘和提醒" 權(quán)限。如果您的應(yīng)用需要精確鬧鐘拇颅,請(qǐng)務(wù)必處理好應(yīng)用不再擁有這個(gè)權(quán)限的情況奏司。我們已經(jīng)添加了一個(gè)新的 API,canScheduleExactAlarms()樟插,供您檢查應(yīng)用的權(quán)限狀態(tài)韵洋。一般來(lái)說(shuō)哥谷,我們建議您盡可能將應(yīng)用調(diào)整為不再需要使用精確鬧鐘。請(qǐng)?jiān)L問(wèn) 官方文檔 了解詳細(xì)信息麻献。
改進(jìn)的網(wǎng)絡(luò)鏈接 - 在 Android 12 中们妥,我們正在做出一些改變,以確保用戶能更快速順暢地訪問(wèn)內(nèi)容勉吻。首先监婶,我們修改了對(duì)未經(jīng) Android 應(yīng)用鏈接 (App Links) 驗(yàn)證或者未經(jīng)用戶手動(dòng)批準(zhǔn)的鏈接的處理方式。現(xiàn)在操作系統(tǒng)會(huì)直接在默認(rèn)瀏覽器中打開(kāi)這些鏈接齿桃,而不是展示一個(gè)選擇對(duì)話框惑惶。為了讓用戶更容易批準(zhǔn)您的應(yīng)用使用鏈接,我們準(zhǔn)備了一個(gè) 新的 Intent 來(lái)將用戶帶到設(shè)置的 "默認(rèn)打開(kāi)方式" 選項(xiàng)中短纵。如果您希望確保只有您的應(yīng)用能處理來(lái)自您的域的鏈接带污,您可以使用 App Links。我們還添加了新的 adb 命令來(lái)幫助您配置和測(cè)試自己的鏈接香到。請(qǐng)?jiān)L問(wèn) 官方文檔 了解詳細(xì)信息鱼冀。
豐富的震動(dòng)體驗(yàn) - 我們擴(kuò)展了提供的工具,用來(lái)為 UI 事件打造富有情景感的震動(dòng)反饋悠就,為游戲提供更沉浸愉悅的體驗(yàn)千绪,以及營(yíng)造有助于提升生產(chǎn)力的觸覺(jué)效果。通過(guò)活用最新震動(dòng)單元提供的更寬廣的頻率范圍梗脾,我們帶來(lái)了更具表現(xiàn)力的震動(dòng)效果荸型,比如 "低聲滴答"。游戲開(kāi)發(fā)者也可以控制游戲手柄里的 多個(gè)不同的震動(dòng)單元炸茧,讓它們同步產(chǎn)生相同的震動(dòng)效果瑞妇,或是通過(guò) 多個(gè)單元 的組合產(chǎn)生不同的效果。我們推薦開(kāi)發(fā)者使用這些 常量 和 原語(yǔ) 來(lái)構(gòu)建豐富的震動(dòng)效果: 常量用于強(qiáng)化 UI 事件梭冠,震動(dòng)合成器 (haptic composer) 用于組合不同的原語(yǔ)來(lái)實(shí)現(xiàn)更復(fù)雜的效果辕狰。您現(xiàn)在可以在 Pixel 4 設(shè)備上完整體驗(yàn)這些 API,我們也在和設(shè)備制造商合作伙伴們一起為生態(tài)系統(tǒng)內(nèi)的用戶們帶來(lái)最新的震動(dòng)支持妈嘹。
視頻編碼改進(jìn) - Android 12 對(duì)控制視頻編碼量化參數(shù) (Quantization Parameter, QP) 范圍的鍵集進(jìn)行了標(biāo)準(zhǔn)化柳琢,使開(kāi)發(fā)者能夠規(guī)避廠商專用代碼。新的鍵已經(jīng)加入 MediaFormat API 和 NDK Media 庫(kù)润脸。此外柬脸,視頻編碼方需要設(shè)置最低視頻質(zhì)量閾值,以確保當(dāng)視頻比較復(fù)雜時(shí)用戶不會(huì)看到極低質(zhì)量的畫(huà)面毙驯。
Camera2 設(shè)備廠商擴(kuò)展 - 我們的許多設(shè)備廠商合作伙伴已經(jīng)構(gòu)建了自定義的攝像頭效果倒堕,比如散景 (bokeh)、HDR爆价、夜間模式等垦巴,他們希望應(yīng)用能夠使用這些效果媳搪,從而在各自的設(shè)備上創(chuàng)造出差異化的體驗(yàn)。我們已經(jīng)通過(guò) CameraX 庫(kù) 中的一組廠商擴(kuò)展為這些自定義效果提供了支持骤宣,現(xiàn)在在 Android 12 中秦爆,我們也將在平臺(tái)中直接提供這些廠商擴(kuò)展。這樣一來(lái)憔披,那些擁有復(fù)雜的 Camera2 實(shí)現(xiàn)的應(yīng)用就可以方便地使用這些擴(kuò)展等限,而無(wú)需對(duì)之前的代碼進(jìn)行重大修改。擴(kuò)展 API 提供的效果與 CameraX 中的效果完全相同芬膝,而且這些效果已經(jīng)在 許多不同的設(shè)備 上得到支持望门,因此您可以開(kāi)箱即用。請(qǐng)?jiān)L問(wèn) 官方文檔 了解詳細(xì)信息锰霜。
四拜耳 (Quad bayer) 攝像頭傳感器支持 - 如今筹误,許多 Android 設(shè)備都配備了超高分辨率的攝像頭傳感器,通常采用四/九 (quad / nona) 拜耳模式癣缅,在圖像質(zhì)量和低光性能方面提供了極大的靈活性厨剪。在 Android 12 中,我們將引入新的平臺(tái) API所灸,讓第三方應(yīng)用能夠充分利用這些強(qiáng)大靈活的傳感器丽惶。新的 API 支持這些傳感器的獨(dú)特行為炫七,并考慮到了它們?cè)谌直媛驶?"最大分辨率" 模式與 "默認(rèn)" 模式下運(yùn)行時(shí)可能支持不同的流配置與組合爬立。
更快的機(jī)器學(xué)習(xí) - 在 Android 12 中,我們通過(guò)在關(guān)鍵領(lǐng)域的投入万哪,使得開(kāi)發(fā)者們能充分利用 ML 加速器侠驯,并通過(guò) Neural Networks API 始終獲得最佳的性能表現(xiàn)。在性能方面奕巍,通過(guò)引入填充吟策、同步隔離和可重用執(zhí)行對(duì)象等手段,我們得以將推斷調(diào)用的開(kāi)銷降低了一半以上的止。我們還通過(guò) Google Play 服務(wù)讓 ML 加速器驅(qū)動(dòng)得以獨(dú)立于平臺(tái)版本進(jìn)行更新檩坚。這讓開(kāi)發(fā)者們能在任何兼容的設(shè)備上使用最新的驅(qū)動(dòng),同時(shí)也讓 ML 的性能改進(jìn)和錯(cuò)誤修復(fù)得以更快地抵達(dá)用戶手中诅福。
標(biāo)準(zhǔn)化 GPU 計(jì)算 - 我們正在廢棄 RenderScript APIs匾委,轉(zhuǎn)而采用跨平臺(tái)的 GPU 計(jì)算解決方案,如 Vulkan 和 OpenGL氓润。我們希望您可以充滿信心地在 GPU 硬件上運(yùn)行高性能工作負(fù)載÷咐郑現(xiàn)在許多設(shè)備在出廠時(shí)僅支持使用 CPU 運(yùn)行 RenderScript。現(xiàn)有的 API 將暫時(shí)繼續(xù)工作咖气,我們已經(jīng)開(kāi)源了一個(gè) RenderScript 內(nèi)置函數(shù)庫(kù)挨措,包含諸如使用高度優(yōu)化的內(nèi)置函數(shù)平臺(tái)代碼實(shí)現(xiàn)的模糊挖滤。我們還提供了使用 Vulkan 進(jìn)行圖像處理的示例和遷移指南。請(qǐng)閱讀 官方博文 了解詳細(xì)信息浅役。
更好地調(diào)試原生代碼崩潰 - 開(kāi)發(fā)者們向我們反饋道斩松,調(diào)試 NDK 相關(guān)的崩潰很困難。在 Android 12 中觉既,我們提供了更多可操作的診斷砸民,讓調(diào)試變得更加簡(jiǎn)單。在這個(gè)平臺(tái)上奋救,我們使用崩潰轉(zhuǎn)儲(chǔ)文件 (稱為 tombstone) 來(lái)調(diào)試原生崩潰岭参,文件里包含了診斷各種問(wèn)題所需的信息,包括通過(guò) ART 進(jìn)行調(diào)用堆棧展開(kāi) (unwinding)尝艘,與 fdsan 集成演侯,以及針對(duì) GWP-ASan/HWASan/MTE 崩潰堆棧生成的錄制文件。現(xiàn)在背亥,我們通過(guò) App Exit Reasons API秒际,讓?xiě)?yīng)用得以訪問(wèn)其自身的 tombstone 文件。當(dāng)您的應(yīng)用通過(guò) REASON_CRASH_NATIVE 使用 ApplicationExitInfo 時(shí)狡汉,您可以調(diào)用 getTraceInputStream() 來(lái)獲取 protobuf 格式的 tombstone 數(shù)據(jù)娄徊。
更靈活的備份配置 - Android 的備份服務(wù)讓用戶可以毫不費(fèi)力地將數(shù)據(jù)還原或遷移到新設(shè)備上。應(yīng)用是用戶體驗(yàn)的核心盾戴,確保用戶能夠轉(zhuǎn)移應(yīng)用數(shù)據(jù)寄锐,并繼續(xù)使用應(yīng)用十分重要。備份服務(wù)既支持云端備份到 Google Drive尖啡,也支持設(shè)備到設(shè)備的傳輸橄仆,開(kāi)發(fā)者只需對(duì)應(yīng)用進(jìn)行極小的改動(dòng),就可以使用這些功能衅斩。對(duì)于以 Android 12 為目標(biāo)的應(yīng)用盆顾,我們正在改進(jìn)服務(wù),為您提供更多的靈活性和控制權(quán)畏梆。我們更新了 XML 配置格式您宪,因此您現(xiàn)在可以為云端備份和設(shè)備到設(shè)備傳輸設(shè)置不同的規(guī)則。例如奠涌,您可以將體積較大的文件從云端備份中排除宪巨,但在設(shè)備到設(shè)備的傳輸中將其加入。您還可以為備份或傳輸分別設(shè)置加密需求铣猩。最后揖铜,如果您想關(guān)閉設(shè)備到設(shè)備傳輸?shù)淖詣?dòng)備份,請(qǐng)使用新的配置格式代替 allowBackup 清單屬性达皿。請(qǐng)?jiān)L問(wèn) 官方文檔 了解詳細(xì)信息天吓。
前往 Android 12 開(kāi)發(fā)者網(wǎng)站 詳細(xì)了解 Android 12 的新功能和行為變更贿肩。
應(yīng)用兼容性
在推出新的平臺(tái)版本時(shí),我們會(huì)優(yōu)先考慮應(yīng)用的兼容性龄寞,讓系統(tǒng)更新的體驗(yàn)更快速汰规、更順暢。在 Android 12 中物邑,大多數(shù)面向應(yīng)用的變更都是可選的溜哮,讓您有更多時(shí)間調(diào)整適應(yīng)。我們還更新了工具和流程色解,幫助您更快做好準(zhǔn)備茂嗓。
開(kāi)發(fā)者預(yù)覽版 3 的推出,意味著我們?cè)谶M(jìn)一步提升穩(wěn)定性的同時(shí)科阎,也朝著第一個(gè) Beta 版本更近了一步∈鑫現(xiàn)在大家可以體驗(yàn)新功能和變更,并告訴我們這些特性在您的應(yīng)用中表現(xiàn)如何锣笨。請(qǐng)?jiān)L問(wèn) 反饋?lái)?yè)面蝌矛,與我們分享您的想法或報(bào)告問(wèn)題。
Android 12 第一個(gè) Beta 版即將到來(lái)错英,是時(shí)候開(kāi)始進(jìn)行 兼容性測(cè)試入撒,并確保您的應(yīng)用準(zhǔn)備就緒了。我們建議您在未來(lái)幾周發(fā)布一個(gè)兼容更新椭岩。目前暫時(shí)不需要更改應(yīng)用的 targetSdkVersion茅逮,但您可以通過(guò) 行為變更切換開(kāi)關(guān) 來(lái)初步了解 Android 12 的可選變更對(duì)您的應(yīng)用可能造成的影響。
我們將于 2021 年 8 月達(dá)到 平臺(tái)穩(wěn)定性里程碑簿煌,屆時(shí)所有面向應(yīng)用的系統(tǒng)行為氮唯、SDK/NDK API 和非 SDK 列表都將最后確定。屆時(shí)您就可以完成最終兼容性測(cè)試姨伟,發(fā)布完全兼容的應(yīng)用、SDK 或開(kāi)發(fā)庫(kù)豆励。發(fā)布 時(shí)間表 詳見(jiàn):
即刻開(kāi)始體驗(yàn) Android 12
不論您是想體驗(yàn) Android 12 的功能夺荒、測(cè)試應(yīng)用還是 提交反饋,都可以從這次的開(kāi)發(fā)者預(yù)覽版開(kāi)始良蒸。只需將設(shè)備系統(tǒng)映像 下載并刷入 Pixel 3 / 3 XL技扼、Pixel 3a / 3a XL、Pixel 4 / 4 XL嫩痰、Pixel 4a / 4a 5G 或 Pixel 5 設(shè)備剿吻,或使用 Android 模擬器,即可立即開(kāi)始使用串纺。如果您已在自己的 Pixel 設(shè)備中安裝了預(yù)覽版丽旅,您將通過(guò)無(wú)線 (OTA) 方式自動(dòng)獲得包括 Beta 版在內(nèi)的所有后續(xù)更新椰棘。請(qǐng)?jiān)L問(wèn) 官方文檔 了解詳細(xì)信息。
了解本次發(fā)布的完整信息榄笙,請(qǐng)?jiān)L問(wèn) Android 12 開(kāi)發(fā)者網(wǎng)站邪狞。