今天,谷歌發佈了Android 11的第二個開發者預覽版。和此前發佈的第一個預覽版相同,該預覽版也僅適用於開發人員,須要手動下載,目前支持Pixel 2/3/3a/4系列刷機。html
Android 11的第二個開發者預覽版並無引入任何突破性的新功能,很大程度上是首個預覽版的維護升級版本。對此,谷歌研發副總裁 Dave Burke 表示:「它仍然是早期版本,可是您能夠開始瞭解操做系統如何在此版本中實現新體驗,從無縫5G鏈接到圍繞着屏幕改進UI,再到更智能的鍵盤和更快的消息傳遞體驗。」android
下面咱們來看一下究竟有哪些更新。git
1、5G 狀態 APIgithub
DP2 增長了 5G 狀態 API,可讓您快速檢查用戶當前是否鏈接至 5G New Radio (新空口) 或 Non-Standalone (非獨立組網模式) 網絡。您可使用它來展現您的應用的 5G 體驗,或是在用戶鏈接成功後進行品牌宣傳。您能夠將此 API 與 5G 動態計費狀態 API、帶寬估測 API 以及現有的網絡鏈接 (Connectivity Manager) API 結合使用,以充分活用 5G 更高的速度和更低的延遲。api
動態計費狀態 API:https://developer.android.goo...緩存
帶寬估測 API安全
https://developer.android.goo...網絡
現有的網絡鏈接 (Connectivity Manager) API機器學習
2、可摺疊設備的鉸鏈角度
針對可摺疊設備,開發者們提出的頭號要求是經過 API 獲取設備的屏幕摺疊角度。Android 11 如今支持鉸鏈角度傳感器,應用能夠直接查詢,或經過新的 AndroidX API 獲取精確的鉸鏈角度,從而爲可摺疊設備打造自適應體驗。
鉸鏈角度傳感器
3、呼叫過濾服務的改進
爲了幫助用戶管理語音自動電話 (robocall),咱們添加了新的 API,以使呼叫過濾應用能夠爲用戶提供更多幫助。除了未來電的 STIR / SHAKEN 狀態 (均爲防範呼叫者 ID 欺詐的標準) 歸入其呼叫詳細信息進行驗證外,呼叫過濾應用還能夠報告拒絕來電的緣由,在得到許可的前提下,這些應用還能夠查看電話是否通向或來自用戶聯繫人中的號碼。應用還能夠自定義系統提供的呼叫後屏幕 (post call screen),方便用戶執行諸如 「將呼叫方標記爲騷擾電話」 或 「添加到聯繫人」 之類的操做。咱們將在近期與你們分享更多這方面的信息。
STIR / SHAKEN 狀態https://developer.android.goo...
呼叫後屏幕 (post call screen)
5、Neural Networks API 的新算子和控制
激活函數控制着神經網絡中節點的輸出。Google AI 團隊發現了一個 swish 激活函數,它能夠在至關多樣的任務中帶來更快的訓練速度和更高的準確度。如今咱們將該函數的一個計算有效版本,hard-swish 算子,加入到了 Android 11 中。這個算子在加速下一代設備上視覺模型 (如 MobileNetV3) 中相當重要,該模型也是許多遷移學習用例的基礎。另外,新增的控制算子使得支持分支和循環的更高級的機器學習模型成爲可能。咱們還添加了新的運行控制,以幫助您最大程度地減小常見用例的延遲: Asynchronous Command Queue API 減小了運行小型連接模型時的開銷。請參見 NDK 樣例代碼瞭解如何使用這些新 API。
swish 激活函數https://arxiv.org/pdf/1710.05...
MobileNetV3
https://ai.googleblog.com/201...
NDK 樣例代碼
1、攝像頭和麥克風的前臺服務類型
在 Android 10 中,咱們引入了清單屬性 foregroundServiceType,以進一步明晰特定用例的適用範圍。最初,應用能夠選擇 「位置」 和其餘幾種類型。如今,咱們在 Android 11 中添加了兩種新類型: 「攝像頭」 和 「麥克風」。若是您的應用要從前臺服務訪問攝像頭或麥克風數據,則須要將對應的 foregroundServiceType 值添加到清單中。
2、分區存儲的更新
咱們一直在致力於更好地保護外部存儲上的應用和用戶數據。在這個版本中,咱們帶來了進一步的強化和更改,好比咱們如今支持將文件從舊模型遷移到新的分區存儲模型,而且改善了緩存文件的管理方式。閱讀官方文檔瞭解更多信息,並請留意後續更新中的更多加強功能。
foregroundServiceType
https://developer.android.goo...官方文檔: Android 11 中的存儲更新
https://developer.android.goo...官方文檔:Android 11 中的隱私權
https://developer.android.goo...
1、同步 IME 切換效果
這是一組全新的 API,讓您能夠在 IME (輸入法編輯器,也叫軟鍵盤) 和系統欄進出屏幕時同步調整應用中的內容,從而更輕鬆地建立出天然、直觀、高品質的 IME 切換效果。爲了確保切換時作到逐幀精確,新的邊襯區動畫監聽器 (Insets Animation Listener) 會在 IME 或系統欄移動時逐幀告知應用邊襯區的變化。此外,應用能夠經過 WindowInsetsAnimationController API 控制 IME 和系統欄切換效果。由應用控制 IME 的切換效果可讓 IME 更精準地與應用 UI 同步,好比配合過分滾動 UI 時的動畫。請上手體驗這些新的 IME 切換效果,並告訴咱們您還想要支持哪些其餘切換效果。
新的邊襯區動畫監聽器 (Insets Animation Listener)
https://developer.android.goo...WindowInsetsAnimationController
https://developer.android.goo...
2、可變刷新率
應用和遊戲如今能夠爲其窗口設置首選幀率。大多數 Android 設備以 60Hz 的刷新率更新屏幕,可是某些設備支持多種刷新率,例如 90Hz 和 60Hz,並可在運行時切換。在這些設備上,系統會基於首選幀率來爲應用選擇最佳刷新率。您能夠經過 SDK 和 NDK 來使用本 API。請前往官方文檔瞭解更多信息。
設置首選幀率
3、重啓後恢復
Android 11 改進了夜間定時 OTA 軟件更新的體驗。和以往版本的 Android 同樣,設備須要重啓才能應用 OTA 更新,如今有了重啓後恢復,應用得以在 OTA 重啓後訪問可信憑據加密 (Credential Encrypted) 存儲,而無需用戶解鎖設備。這樣應用就得以馬上恢復正常功能,而且繼續正常接收消息——因爲 OTA 更新每每被定時在夜間執行,這時設備無人操做,所以重啓後恢復功能就十分必要了。應用依然能夠支持直接啓動 (Direct Boot),從而在全部類型的重啓後馬上訪問設備加密 (Device Encrypted) 存儲。請在您的下一個開發者預覽版 OTA 更新時點擊 "在凌晨 2 點後重啓" 來體驗一下重啓後恢復功能吧。
4、模擬器中的攝像頭支持
Android 模擬器如今能夠模擬前置和後置攝像頭。後置攝像頭支持 Camera2 API HW Level 3 (包括 YUV 再處理和 RAW 捕獲)。它是徹底符合 CTS 第 3 級要求的設備,可用於測試高級功能,例如 ZSL 和 RAW / DNG 支持。前置攝像頭經過邏輯攝像頭 (一個邏輯設備及兩個隱藏的物理設備) 支持 FULL HW 級別。它強調邏輯攝像頭的支持,對應的物理設備則包括窄視角和寬視角攝像頭。有了模擬攝像頭的支持,您能夠構建並測試 Android 11 中新增的任何攝像頭功能。咱們會在近期公佈更多詳細信息。
HW LEVEL_3 和 FULL 級別
https://source.android.google...
在推出新的平臺版本時,進一步經過推動應用兼容性來讓用戶使用更快速、更流暢的 Android 體驗 。在 Android 11 中,添加了新的流程、工具以及發佈里程碑版本,以最大程度地減小平臺更新帶來的影響,讓開發者們更輕鬆地完成更新。
經過此次發佈的開發者預覽版 2,在發佈路線上更進一步邁向 Beta 版本。
在推出平臺穩定版本後,就意味着系統行爲、非 SDK 灰名單和 API 已經處於完成狀態。如今,能夠在 Pixel 二、三、3a 或 4 設備以及 Android 模擬器上開始進行兼容性測試。只需刷新系統版本,安裝當前版本的應用,而後測試其完整流程便可,無需更改應用的 targetSdkVersion。
爲了幫助進行測試,安卓這次將多項重大變動設定爲可逐一開啓/關閉。能夠經過開發者選項或 adb 來強制啓用或禁用它們,前往官方文檔瞭解更多信息。
官方文檔: 發佈日程
https://developer.android.goo...
行爲變動
https://developer.android.goo...
官方文檔:打開或關閉變化項目
https://developer.android.goo...
Android 11 中有關限制非 SDK 接口的更新
https://developer.android.goo...