Android 11 正式版發佈

昨天,谷歌宣佈推出Android 11正式版,主要增強了聊天氣泡、安全隱私、電源菜單,以及對瀑布屏、摺疊屏、雙屏的支持。Pixel、一加、小米、OPPO、realme手機用戶將在將來幾天收到更新推送,其餘手機用戶將在將來幾個月內收到更新推送。開發者能夠經過Android 開源項目 (AOSP)來下載最新的源代碼。html

對比最近兩年發佈的幾個版本能夠發現,安卓系統其實變化不是很大,底層改變也不是不少,更新的內容主要是圍繞着消息、 隱私和如何更好地控制全部的智能設備來開發的。下面讓咱們來具體看一下Android 11的一些新特性。android

以人爲本、靈活控制與隱私安全

以人爲本

Android 11 致力於凸顯人的要素,而且更好的進行溝通,所以,Android 11 重塑了手機上進行溝通的方式,也讓操做系統能識別出那些對您來講更重要的人,讓您能更快速地和他們聯繫。對於開發者來講,Android 11 能夠幫助您在應用中實現更深刻的會話和更個性化的互動體驗。主要體如今如下幾個方面:git

會話通知: 會顯示在通知欄頂部的專門區域,其設計更凸顯聯繫對象,且提供了會話特定的操做,例如以 Bubbles 的形式打開聊天、在主屏幕中建立會話快捷方式,以及設置提醒。
Bubbles :可讓用戶在手機上進行多任務切換時依然保持對話可見而且可交互。消息和聊天應用能夠經過基於通知的 Bubbles API,在 Android 11 上提供這種全新體驗。
鍵盤提示整合功能: 可讓自動填寫應用以及 IME (輸入法編輯器) 在 IME 建議欄中安全地向用戶提供基於上下文的實體和字符串,使得輸入更加便利。github

在這裏插入圖片描述

靈活控制

Android 11 讓用戶們得以快速訪問全部的智能設備,並集中控制它們。開發者們則能夠經過全新的 API 來幫助用戶控制智能設備和管理媒體播放。緩存

設備控制 ( Device Controls ) :讓用戶得以更快、更輕鬆地訪問和控制他們鏈接的設備。只需長按電源按鈕就能夠調出設備控制菜單,一站式完成設備控制。應用也能夠經過新的 API 出如今這個控制菜單中,詳情能夠查看官方文檔
媒體控制 ( Media Controls ): 讓用戶得以更快捷地切換音頻和視頻內容的播放設備——不管是耳機、麥克風仍是電視,詳情查看官方文檔安全

在這裏插入圖片描述
在這裏插入圖片描述

隱私安全

Android 11 對權限管進行了升級,可讓咱們更好地管理敏感權限。
單次受權 :用戶如今能夠授予應用一次性的權限來訪問設備的麥克風、攝像頭或者位置信息。應用下次被使用時須要再次請求權限。詳細信息請訪問 官方文檔
在這裏插入圖片描述
後臺位置 :若是想訪問後臺位置信息,如今須要用戶在授予運行時權限外進行更進一步的操做。若是您的應用須要訪問後臺位置信息,系統會要求您必須先請求前臺位置權限。您能夠經過 單獨的權限申請 來進一步要求訪問後臺位置信息,系統會將用戶帶到設置頁面 (Settings) 中完成受權操做。網絡

另外須要注意的是,咱們在今年二月宣佈,Google Play 開發者須要得到批准後纔可讓應用在後臺訪問位置信息,以防止濫用。如今咱們爲開發者提供更長的時間來作出修改,在 2021 年以前咱們不會強行要求現有的應用遵照本政策。詳細信息請訪問 官方文檔併發

權限自動重置 : 若是用戶在很長一段時間裏未使用某應用,Android 11 將 "自動重置" 全部與該應用關聯的運行時權限並通知用戶。在用戶下次使用該應用時,應用能夠再次請求權限。詳細信息請訪問 官方文檔app

分區存儲: Android一直在努力更好地保護外部存儲上的應用和用戶數據,還加入了更多的改進以便讓開發者更輕鬆地進行遷移。詳細信息請訪問 官方文檔框架

Google Play 系統更新:自去年發佈以來,Google Play 系統更新讓咱們能更快速地更新操做系統核心組件,並覆蓋 Android 生態系統中的衆多設備。在 Android 11 中,可更新的模塊數量增長了一倍有餘,新增的 12 個可更新模塊,爲用戶和開發者帶來更好的隱私性、安全性和一致性。

BiometricPrompt API :開發者如今能夠經過 BiometricPrompt API 來指定其應用所需的生物識別身份驗證強度類型,用來解鎖或者訪問應用中的敏感內容。爲了向下兼容,咱們也將這些功能加入到了 Jetpack Biometric 開發庫 中。隨着工做的進展,咱們會爲你們帶來進一步的更新。

身份認證 API ( Identity Credential API ) - 這個 API 會帶來全新的使用場景,支持包括駕駛執照、國民身份證和數字身份證。咱們正在與各政府機構和行業夥伴合做,以確保 Android 11 爲數字化身份認證體驗作好準備。

實用創新

更強的 5G 支持 :Android 11 可讓開發者利用 5G 網絡更快的速度和更低的延遲。您能夠知曉用戶什麼時候 鏈接到 5G 網絡,查看 鏈接是否處於計費狀態,而且 估測鏈接的帶寬。爲了幫助您即刻打造 5G 體驗,咱們也在 Android Emulator 中加入了 5G 支持。請訪問 5G 開發者網頁,瞭解如何在 Android 上使用 5G 功能。
在這裏插入圖片描述

新的屏幕類型 :設備廠商們也在持續進行創新,將新的屏幕形態投入市場,包括挖孔屏和瀑布屏。Android 11 已經在平臺中增長了對這些屏幕的支持,並提供了相應的 API 方便您優化應用。您能夠經過現有的 Display Cutout API 來管理挖孔屏和瀑布屏。您能夠經過設置 新的窗口布局屬性 來使用整個瀑布屏,並經過 瀑布屏邊襯區 (insets) API 來管理屏幕邊緣附近的互動。

呼叫過濾服務 : Android 11 能夠幫助呼叫過濾應用更好地管理騷擾電話。應用在呼叫詳細信息中能夠獲取來電的 STIR/SHAKEN 驗證狀態 (這個標準能夠防止來電 ID 欺詐),並能報告拒接來電的緣由。應用還能夠自定義系統提供的 呼叫後屏幕 (post call screen),方便用戶執行諸如 "將呼叫方標記爲騷擾電話" 或 "添加到聯繫人" 之類的操做。

優化與品質

操做系統彈性 :在 Android 11 中,咱們經過對內存回收操做 (好比根據 RSS HWM 閾值強制用戶沒法感知的進程重啓) 進行微調,使操做系統總體更具動態性和彈性。另外,爲了改善性能和內存的使用,Android 11 還增長了 Binder 緩存,經過緩存那些檢索相對靜態數據的系統服務,優化了使用率高的 IPC 調用。Binder 緩存還經過減小 CPU 時間延長了電池壽命。

同步 IME 切換效果 : 這是一組全新的 API,讓您能夠在 IME (輸入法編輯器,也叫軟鍵盤) 和系統欄進出屏幕時同步調整應用中的內容,從而更輕鬆地建立出天然、直觀、流暢的 IME 切換效果。爲了確保切換時作到逐幀精確,新的 WindowInsetsAnimation.Callback API 會在系統欄或 IME 移動時逐幀告知應用邊襯區的變化。此外,您能夠經過新的 WindowInsetsAnimationController API 控制系統 UI,包括系統欄、IME、沉浸模式等。

在這裏插入圖片描述

HEIF 動畫可繪製對象ImageDecoder API 如今容許您解碼和渲染存儲在 HEIF 文件中的圖像序列動畫,方便您引入高品質的素材,同時最大程度地減小流量消耗和 APK 尺寸。相對於 GIF 動畫,HEIF 圖像序列能夠顯著減少文件尺寸。

原生圖像解碼器 :應用可使用新的 NDK API 來經過原生代碼解碼和編碼圖像 (如 JPEG、PNG、WebP),以便進行圖形或後期處理,並且由於您無需捆綁外部代碼庫,從而得以保持較小的 APK 尺寸。原生解碼器還能夠從 Android 持續的平臺安全更新中獲益。

MediaCodec 中的低延遲視頻解碼: 低延遲視頻對於 Stadia 等實時視頻流應用和服務相當重要。支持低延遲播放的視頻編解碼器會在解碼開始後儘快返回流的第一幀。應用可使用新 API 來針對特定編解碼器 檢查 和 配置 低延遲播放。

可變刷新率 : 應用和遊戲如今能夠經過 新的 API 爲其窗口設置首選幀率。大多數 Android 設備以 60Hz 的刷新率更新屏幕,可是某些設備支持多種刷新率,例如 90Hz 和 60Hz,並可在運行時切換。在這些設備上,系統會基於首選幀率來爲應用選擇最佳刷新率。您能夠經過 SDK 和 NDK 來使用該 API。

動態資源加載器: Android 11 提供了一個新的公開 API 來讓應用在運行時動態加載資源和素材。經過 Resource Loader 框架,您能夠在應用或遊戲中包含一套基本資源,而後在運行時根據須要加載其餘資源,或更改已加載的資源。

Neural Networks API (NNAPI) 1.3: 咱們持續增長算子和控制,以支持 Android 設備上的機器學習。爲了優化常見的使用場景,NNAPI 1.3 增長了優先級和超時、內存域 (memory domains) 以及異步指令隊列的 API。新的算子支持包含有符號整數非對稱量化以及分支和循環的高級模型,hard-swish 算子則能夠用於加速下一代設備上視覺模型 (如 MobileNetV3)。

開發者體驗

應用兼容性工具: 咱們努力將大多數 Android 11 行爲變動設置爲可選擇開啓,從而最大限度地減小對兼容性帶來的影響,除非您將應用的 targetSdkVersion 設置爲 30,不然這些變動不會生效。若是您是經過 Google Play 發佈應用,則有一年多的時間來選擇支持這些變動,但咱們建議儘早開始測試。爲了幫助您進行測試,Android 11 容許您單獨開啓或關閉其中的許多變動。詳細信息請訪問 官方文檔

應用退出緣由 :瞭解應用退出的緣由以及當時的狀態十分重要——包括應用所在的設備類型、內存配置和運行場景。Android 11 經過 退出緣由 API 讓這個事情變得更加容易: 您可使用該 API 來查看應用最近退出的 詳細信息

數據訪問審覈: 數據訪問審覈可讓您更好地瞭解本身的應用訪問用戶數據的狀況,以及訪問來自的用戶流程。例如,它能幫您識別無心的私有數據訪問,不論其來自於您本身的代碼仍是其餘 SDK。詳細信息請訪問 官方文檔

ADB 增量安裝 ( ADB Incremental ) : 在開發過程當中使用 ADB (Android Debug Bridge) 安裝體積較大的 APK 可能會拖慢速度,影響您的工做效率,對 Android 遊戲開發者而言尤爲如此。Android 11 帶來了 ADB Incremental,如今從開發機向 Android 11 設備上部署大型 APK (2GB 以上) 的速度能夠提升 10 倍之多。

Kotlin 可空性註解: Android 11 爲公共 API 中的更多方法增長了可空性註解。並且,它將一些現有的註解從警告升級爲錯誤。這能夠幫助您在構建時就發現問題,不用等到運行時纔出錯。閱讀 此文 瞭解更多。

Android 11 適配

兼容性適配

隨着Android 11 版本的發佈,如今你能夠進行應用的兼容性測試併發布更新的應用了。
在這裏插入圖片描述
做爲一個Android開發者,你須要重點關注 針對全部應用的行爲變動,重點關注如下幾個方面的適配。

單次權限:如今,用戶能夠爲位置信息、設備麥克風和攝像頭授予單次使用權限。
外部存儲訪問權限 : 應用沒法再訪問外部存儲空間中其餘應用的文件。
Scudo Hardened Allocator :如今它是應用內原生代碼的堆內存分配器。
文件描述符排查器 :此功能如今默認啓用,以檢測應用原生代碼的文件描述符處理錯誤。

使用新功能和 API 改進您的應用

Android 11 提供了不少的 新功能和 AP,下面是一些您能夠優先考慮的重點功能。

深色主題(自 Android 10 開始支持) : 經過添加 Dark Theme (深色主題) 或啓用 Force Dark,確保爲啓用全系統深色主題的用戶提供一致的體驗。
手勢導航 (自 Android 10 開始支持):請支持手勢導航,包括提供邊到邊的沉浸式體驗,以及確保自定義手勢與默認手勢配合良好。
共享快捷方式 (自 Android 10 開始支持) :想要接收共享數據的應用應該使用 共享快捷方式 API 來建立共享目標。想要發送共享數據的應用應確保使用 Android Sharesheet。
同步 IME 切換效果: 使用新的 WindowInsets 和相關 API 爲用戶提供流暢的切換效果。
新的屏幕類型 :對挖孔屏或瀑布屏設備,請確保根據須要針對這些屏幕測試和調整您的內容。詳細信息請訪問 官方文檔。

除此以外,Android 11還在如下功能上作了改進和優化。

會話 :消息和通訊應用能夠經過提供長效 共享快捷方式 和在通知中呈現對會話來融入用戶的對話體驗。
聊天氣泡 ( Bubbles ) :Bubbles 能夠在多任務切換時依然保持對話可見及可用。應用經過基於通知的 Bubbles API 來實現此功能。
5G: 若是您的應用或內容能夠利用 5G 更快的速度和更低的延遲,請參考咱們的 開發者資源,開始構建 5G 體驗。
設備控制: 若是您的應用支持外部智能設備,請確保這些設備能夠重新的 Android 11 設備控制菜單訪問。
媒體控制: 對於媒體應用,咱們建議支持 Android 11 媒體控制,這樣用戶就能夠從快速設置 (Quick Settings) 菜單中管理媒體播放。

參考:Android 11 Beta版

相關文章
相關標籤/搜索