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