作者 / Dave Burke, VP of Engineering
10 月 4 日,我們已經將原始碼推送至 Android 開源專案 (AOSP),並正式釋出最新版本的 Android。Android 12 會在接下來的幾周內推送至 Pixel 裝置,並在今年晚些時候覆蓋三星 Galaxy、一加、OPPO、realme、TECNO、Vivo 和小米裝置。
再次感謝大家在 Android 12 Beta 版期間分享的反饋!有超過 22.5 萬人在 Pixel 以及合作廠商的裝置上測試了 Android 12 的早期版本,並向我們提交了近 5 萬條問題報告,以幫助提高版本的質量。我們也很感謝大家在許多文章、討論、調研和麵談中給出的寶貴想法,以及確保自己的應用及時獲得相容性更新所做的工作。大家的支援和貢獻使 Android 得以成為適合所有人的了不起的系統平臺。
我們也將在今年 10 月 27 日至 28 日召開的 Android Dev Summit 上分享更多 Android 12 的詳細資訊。關於本次峰會,我們也帶來了包括 Android 技術演講概覽在內的更多資訊,請繼續閱讀本文或者 點選這裡 瞭解詳情。
Android 12 為開發者帶來了什麼?
這裡針對開發者們列出一些不容錯過的 Android 12 新特性。請務必前往 Android 12 開發者網站 檢視所有新功能的詳細資訊。
Android 的新 UI
Material You - Android 12 帶來了新的設計語言,名為 Material You,用以幫助大家構建更加個性化、更漂亮的應用。如果想將所有最新的 Material Design 3 新特性帶入您的應用,請嘗試 Material 設計元件 的 Alpha 版本,並關注即將到來的 Jetpack Compose 支援。
重新設計的微件 (widget) - 我們重新設計了應用微件,讓它們更實用、更美觀,且更易於發現。您可以體驗新的互動控制元件、適用於任何裝置的響應式佈局,以及動態顏色,來建立充滿個性同時依然擁有高度一致性的外觀。請訪問 官方文件 瞭解詳細資訊。
通知介面更新 - 我們還對通知設計進行了改版,使其更現代、更實用。Android 12 也會使用標準的元素來美化自定義通知,使其觀感與其他通知保持一致。請訪問 官方文件 瞭解詳細資訊。
過度滾動拉伸效果 - 為了讓應用內容的滾動更加順暢,Android 12 為所有滾動容器新增了一個新的過度滾動 "拉伸" 效果。這個自帶的滾動停止效果覆蓋整個系統和所有應用。請訪問 官方文件 瞭解詳細資訊。
應用啟動畫面 - Android 12 還為所有的應用帶來了新的啟動畫面。應用也可以通過多種方式來定製啟動畫面,以彰顯其獨有的品牌個性。請訪問 官方文件 瞭解詳細資訊。
效能表現
更快、更高效的系統效能 - 我們將核心系統服務所需的 CPU 時間減少了 22%,並將對大核的使用減少了 15%。我們還改善了應用的啟動時間,並優化了 I/O 以加快應用的載入速度;對於資料庫查詢,在使用 CursorWindow 處理大量資料的時候,我們將其效能提高了 49 倍之多。
前臺服務優化 - 為了給使用者提供更好的體驗,Android 12 禁止應用在後臺啟動前臺服務。應用可以使用 JobScheduler 中新引入的 加急作業) (expedited job) 來代替之前的做法。請訪問 官方文件 瞭解詳細資訊。
更靈敏的通知 - Android 12 對通知 trampoline (利用廣播接收器或服務間接啟動目標 Activity) 的限制有助於減少從通知中啟動應用的延遲。例如,Google Photos 應用在不使用通知 trampoline 後,啟動速度快了 34%。請訪問 官方文件 瞭解詳細資訊。
效能等級 (Performance class) - 效能等級定義了一組裝置功能,它們共同支援在 Android 12 裝置上執行更苛刻的用例和更高質量的內容。應用可以在執行時檢查裝置的效能等級,並充分利用裝置的效能。請訪問 官方文件 瞭解詳細資訊。
更快的機器學習 - Android 12 能幫助您充分利用 ML 加速器,並通過 Neural Networks API 始終獲得最佳的效能表現。ML 加速器驅動現在也可以獨立於平臺版本之外,通過 Google Play 服務進行更新,因此您可以在任何相容的裝置上使用最新的驅動。
隱私
隱私資訊中心 - 系統設定 (Settings) 中新增的這個資訊中心讓使用者可以更好地瞭解應用何時訪問麥克風、攝像頭和位置資料。請訪問 官方文件 瞭解詳細資訊。
大致位置 - 使用者對位置資料有了更多的控制權,即使您的應用請求確切位置,他們也可以只授權訪問大致位置。請訪問 官方文件 瞭解詳細資訊。
麥克風和攝像頭指示標誌 - 狀態列中的指示標誌讓使用者知道應用何時在使用裝置攝像頭或麥克風。請訪問 官方文件 瞭解詳細資訊。
麥克風和攝像頭切換開關 - 在支援的裝置上,快捷設定 (Quick Settings) 中新增的切換開關讓使用者可以輕鬆地立即禁止所有應用對麥克風和攝像頭的訪問。請訪問 官方文件 瞭解詳細資訊。
附近裝置許可權 - 您的應用可以使用新的許可權來掃描附近的裝置並與之配對,而不需要獲取位置許可權。請訪問 官方文件 瞭解詳細資訊。
更好的使用者體驗工具
富媒體內容插入 - 新增了統一的 API 讓您的使用者介面可以從任何來源接收富媒體內容: 包括剪貼簿、鍵盤、拖放等。為確保向前相容性,我們也將這套統一的 API 新增到了 AndroidX 中。請訪問 官方文件 瞭解詳細資訊。
支援圓角螢幕 - 許多現代裝置的螢幕採用圓角設計。為了在這些裝置上提供良好的使用者體驗,您可以使用新的 API 來查詢圓角詳情,然後根據需要管理 UI 元素。請訪問 官方文件 瞭解詳細資訊。
AVIF 影像支援 - Android 12 增加了對 AV1 影像檔案格式 (AVIF) 的平臺支援。AVIF 利用了視訊壓縮的幀內編碼內容,與舊的影像格式 (如 JPEG) 相比,在相同的檔案大小下可以大幅提高影像質量。
相容媒體轉碼 - 對於視訊內容,HEVC 格式在質量和壓縮方面都有明顯的提升,我們建議所有的應用都支援該格式。不能支援 HEVC 的應用可以使用相容媒體轉碼功能,應用只需請求 AVC 格式的檔案,並由系統來進行轉碼。請訪問 官方文件 瞭解詳細資訊。
更易用的模糊、彩色濾鏡等特效 - 新的 API 讓您能更輕鬆地將常見圖形效果應用到檢視和渲染結構上。您可以使用 RenderEffect 將模糊、色彩濾鏡等效果應用於 RenderNode 或 View。您還可以使用新的 Window.setBackgroundBlurRadius() ) API 為視窗背景建立霧面玻璃效果,或者使用 blurBehindRadius 來模糊視窗後面的所有內容。
增強的觸覺體驗 - Android 12 提供了更多工具來為 UI 事件建立豐富的觸覺反饋,以及為遊戲營造出更沉浸和愉悅的體驗,更能打造出有助於提升生產力的觸覺效果。請訪問 官方文件 瞭解詳細資訊。
新的攝像頭效果和感測器功能 - 新的 裝置廠商擴充套件 讓應用可以利用裝置廠商打造的自定義攝像頭效果,比如散景 (bokeh)、HDR、夜間模式等。您還可以使用新的 API 來充分利用配備了四/九 (Quad/Nona) 拜耳模式的超高解析度攝像頭。請訪問 官方文件 瞭解詳細資訊。
更好地除錯原生程式碼崩潰 - Android 12 提供了更多可操作的診斷資訊,讓您可以更輕鬆地除錯 NDK 相關的崩潰。應用現在可以通過 App Exit Reasons API 來訪問詳細的崩潰轉儲檔案 (稱為 tombstone)。
Android 12 的遊戲支援 - 通過 遊戲模式 (Game Mode) API,您可以在玩家為遊戲選擇不同的效能配置時做出反應: 比如在漫長的通勤途中節省電池消耗,或者通過效能模式獲得更高的幀率。邊玩邊下 (play as you download) 功能將允許遊戲在安裝過程中從後臺下載遊戲資源,從而讓玩家更快地進入遊戲。
讓您的應用為 Android 12 做好準備
隨著 Android 12 的正式釋出,我們要求所有的 Android 開發者完成相容性測試並儘快釋出更新,以便使用者順利過渡到 Android 12。
要測試應用的相容性,只需在 執行 Android 12 的裝置 上安裝應用,並測試應用的所有流程,找出功能或 UI 上暴露的問題。請通過 Android 12 行為變更清單 (針對所有應用) 來找出可能影響應用的變更。
這裡列出一些需要注意的變更:
- 隱私資訊中心 - 通過系統設定 (Settings) 中新增的這個資訊中心來檢視應用對麥克風、位置資訊和其他敏感資料的訪問,您也可考慮向使用者提供訪問原因的詳細資訊。請訪問 官方文件 瞭解詳細資訊。
- 麥克風和攝像頭指示標誌 - 當應用正在使用攝像頭或麥克風時,Android 12 會在狀態列顯示指示標誌。請確保該標誌不會影響應用的使用者介面。請訪問 官方文件 瞭解詳細資訊。
- 麥克風和攝像頭切換開關 - 使用快捷設定 (Quick Settings) 中新增的切換開關來禁止應用對麥克風和攝像頭的訪問,請確保您的應用能正確處理這一變化。請訪問 官方文件 瞭解詳細資訊。
- 剪貼簿訪問通知 - 當應用從剪貼簿中讀取資料時,請注意出現的訊息框訊息。請避免出現意外訪問的情形。請訪問 官方文件 瞭解詳細資訊。
- 過度滾動拉伸效果 - 請通過您的滾動內容來體驗新的 "拉伸" 過度滾動效果,並確保內容如預期顯示。請訪問 官方文件 瞭解詳細資訊。
- 應用啟動畫面 - 通過各種流程啟動您的應用,以測試新的啟動動畫。如果有必要,您可以對其進行自定義。請訪問 官方文件 瞭解詳細資訊。
- Keygen 變更 - 我們移除了一些被廢棄的 BouncyCastle 加密演算法,轉而使用 Conscrypt 實現。如果您的應用使用 512 位的 AES 金鑰,您需要將其改為 Conscrypt 支援的標準長度。請訪問 官方文件 瞭解詳細資訊。
別忘了測試應用中的開發庫和 SDK 的相容性。如果您發現 SDK 的問題,請嘗試更新 SDK 到最新版本,或向其開發者尋求幫助。
一旦您釋出了當前應用的相容版本,就可以開始 著手升級 應用的 targetSdkVersion。請查閱 行為變更清單 (針對面向 Android 12 的應用),並使用 相容性框架工具 來快速檢測問題。
相聚 Android Dev Summit 2021,盡覽 Android 12 等眾多精彩!
\#AndroidDevSummit 回來了!10 月 27 日至 28 日,和我們一起了解包括 Android 12 在內的 Android 開發最新進展。今年的主題是傑出的應用和跨裝置,您還將瞭解有助於提高工作效率的開發工具、API 和技術,從而打造出更棒的應用,並在數十億臺裝置上執行,包括平板電腦、可摺疊裝置、可穿戴裝置等。
我們也帶來了關於本次峰會的更多訊息,包括 30 餘場 Android 技術演講的概覽,您可以在 官方網站 檢視並規劃自己應該關注哪些場次。在接下來的幾周內我們也會邀請大家提交 \#AskAndroid 問題,我們的團隊成員會在峰會現場進行解答。
本次峰會將於美國太平洋時間 10 月 27 日上午 10 點 (北京時間 10 月 28 日凌晨 1 點) 開幕,第一場大戲就是 The Android Show,這是一場 50 分鐘的技術主題演講,您將聽到所有和 Android 開發者有關的最新訊息和進展。別忘了 註冊 並獲取最新動態。
歡迎您 點選這裡 向我們提交反饋,或分享您喜歡的內容、發現的問題。您的反饋對我們非常重要,感謝您的支援!