Categories
程式開發

Android 11迎來首個開發者預覽版,這些新功能必知


2月19日,Android開發者官方博客宣布正式發布Android 11首款開發者預覽版

據悉,Android 11將帶來一系列新功能,包括對可折疊顯示屏的支持、5G增強功能、來電篩選API、新的媒體與攝像頭功能以及機器學習等等。這些還只是新版本的一部分內容。

Dave Burke寫道,“在Android 11中,我們將繼續為用戶帶來更多創新技術,並保持對隱私性和安全性的高度關注。我們不僅增加了多項用於管理敏感數據和文件訪問的新功能、同時還強化了某些關鍵區域,從而保持操作系統的良好彈性和安全性。”

重大新功能一覽

一、5G體驗

5G技術能為全球用戶帶來更高網速、更低延遲。

在5G技術的幫助下,大家可以把以往只能通過WiFi實現的應用體驗擴展至移動用戶,比如4K流媒體視頻、雲遊戲等,也能據此構建專為5G網絡環境設計的新體驗。

在Android 11中,我們正在增強並更新現有的連接API,以確保大家能享受5G帶來的性能改進。

1.動態計量API

利用此API,大家可以檢查當前網絡連接的性能水平;如果尚有充足餘量,則能選擇更高的素材分辨率或質量,從而強化應用的使用體驗。

我們擴展了該API的兼容範圍,讓其支持蜂窩網絡。這樣,開發者就能在用戶接入5G網絡時識別出對應的運營商,保證應用始終根據當前網絡條件帶來最好的使用感受。

2.帶寬估算API

我們還更新了適用於5G環境的帶寬估算API,用以快速檢查下行/上行帶寬,用戶不再需要輪詢網絡或者自行估算。

如果你的調製解調器不支持這項功能,我們將根據當前連接情況進行默認估算。

Android 11迎來首個開發者預覽版,這些新功能必知 1

5G技術不僅能將傳統固網帶出家門,還將幫助用戶與周邊環境(好友、家人乃至企業)無縫交互,增強“移動”體驗。

二、新的屏幕類型

設備製造商正不斷將令人興奮的全新移動設備外形與屏幕設計推向市場。

我們也著手在新的Android平台中增加對這些全新特性的支持,同時提供對應API,以優化應用顯示效果。

針孔與瀑布屏

應用程序可以利用現有顯示屏佈局,充分管理針孔屏與瀑布屏等顯示方案。

如果需要,開發者能讓自己的應用程序鋪滿包括邊框在內的整個瀑布屏,並通過嵌入圖管理邊框附近的交互操作。

三、人與對話

對大多數用戶來說,與朋友和同事們的溝通是手機上最重要的應用方式。

在Android 11中,我們引入了能幫助開發者創建更深層對話體驗的變更,其中不少都將在此次開發者預覽版(DP1)中得到體現:

1.通知欄中的專用對話部分

用戶可以在自己喜愛的應用程序中立即找到與特定對象的對話。

2.懸窗(Bubbles)

懸窗是一種在手機上執行多任務處理時,繼續保持對話可見性與可訪問性的方法。

消息與聊天應用在使用Bubbles API時,會向用戶申請權限,並通過Android 11中的設置完成授權。

3.將圖像插入通知回復中

如果你的應用支持圖像複製/粘貼,那麼在新版本中,你可以允許用戶將素材直接插入至通知回復中,從而實現更豐富的通信效果與應用功能設計。

作為此次預覽版的重要組成部分,你將在Chrome中找到圖片複製支持選項,並通過Gboard剪貼板查看圖片粘貼支持功能。

實時雙向通訊應用應當使用共享/會話快捷方式API,藉此保證Android系統在整個對話過程中顯示People目標以及Bubbles API,從而允許用戶在使用其他應用功能的同時繼續保持當前對話。

四、神經網絡API 1.3

神經網絡API(NNAPI)專為Android設備上運行的機器學習類計算密集型操作而設計。

在Android 11中,我們正在擴展可供開發者使用的操作與控件。在新版本內,我們添加了新的操作與執行控件,藉以優化以下常見用例:

  • 服務質量API,用於支持模型執行的優先級與超時情況。
  • 內存域API,用於減少連續模型執行帶來的內存複製與轉換操作。
  • 擴展量化支持,我們添加了 signed integer asymmetric quantization,它能在縮小模型體積的同時加快推理速度。

感興趣的朋友可以點擊此處查看NDK示例代碼,其中包含與上述新API相關的應用示例。

在今後的預覽更新中,我們將發布更多相關信息。我們正在與硬件供應商以及各大主流機器學習框架(例如TensorFlow)團隊開展合作,希望優化並實現對NNAPI 1.3的支持。

五、隱私性與安全性

隱私

隱私一直是Android系統中的核心,每年我們都在嘗試多種方法,來保護用戶安全並提高系統的透明度與可控性。

其中不少變更受到用戶的積極響應——例如在Android 10中,我們添加了“While app is in use”權限選項,幫助用戶更精細地控制應用位置並限制後台位置訪問。

到目前為止,約有半數用戶會選擇啟用“While app is in use”選項。

在Android 11中,我們通過新的權限選項、範圍存儲更新等機制繼續關注用戶隱私保護。

一次性權限

對於最敏感的數據類型——除位置外,還包括設備的麥克風與攝像頭啟用——用戶現在可以通過一次性授權方式將其臨時開啟。

這項權限意味著應用程序能暫時訪問數據,但在用戶退出應用後,授權即告結束。再次使用時,應用程序必須重新請求權限才能再次獲取這部分數據。

Android 11迎來首個開發者預覽版,這些新功能必知 2

*Android 11中的一次性權限對話框。 *

範圍存儲

我們將繼續努力,更好地保護外部存儲介質上的應用程序與用戶數據,同時不斷為開發者提供更加輕鬆可行的遷移選項。

此次預覽版中包含多項增強功能,例如在存儲介質選擇中添加原始文件路徑訪問、DocumentsUI更新,以及MediaStore中的批處理編輯操作等等。

除以上變更外,用戶還提到希望在Android的早期發布版本中獲得更多保護,並希望強化應用程序的數據使用透明度。因此,我們正著手更新Google Play政策,希望確保應用程序只在必要時才會提出位置數據權限申請。

安全性

我們專注於提高各個Android版本的安全性標準——包括在更多設備類型上發布月度安全更新,以及為最新平台構建更多保護功能等。

在Android 11中,我們將Android的縱深防禦策略擴展到移動平台上的更多區域之內,同時為應用添加了新的安全選項及配套API。

生物特徵識別

我們擴展了系統對於生物特徵識別的支持能力,以滿足各類設備的實際需求。

BiometricPrompt現在支持三種不同細化度的身份驗證類型——具體分為強、弱以及設備憑證。我們還將BIometricPrompt流與應用程序的“活動”生命週期剝離開來。

換句話說,所有使用生物特徵識別的應用都將轉向BiometricPrompt API。還有一個好消息,此API將入駐AndroidX,因此早期版本的Android系統也將兼容這項新功能。

平台強化

我們在各項關鍵安全組件(包括BoundSan、IntSan、CFI以及Shadow-Call Stack)中擴展了基於編譯器的清理器使用範圍。

同時,我們還為只支持Android 11或更高版本的應用程序啟用堆指針標記,旨在協助捕捉應用中產生的內存問題。

這些經過強化的改進有望在代碼層面暴露出更多可重複/可再現的應用程序崩潰情況,進而降低應用程序的測試難度。

我們已經利用HWAsan查找並修復了系統中的大量內存錯誤,現在我們正式提供支持HWAsan的系統鏡像,相信能夠幫助更多朋友在應用程序中識別出此類問題。

存儲與共享數據保護

應用程序現在可以通過BlobstoreManager與其他應用程序輕鬆安全地實現data blob共享。

Blob存儲特別適合同一用戶在多款應用之間共享同一組機器學習模型這類用例。

身份憑證

Android 11在系統平台上添加了對安全存儲與可驗證身份憑證(例如符合ISO 18013-5的汽車駕駛許可證)的檢索支持。

六、更新與兼容性

Google Play系統更新

從Android 10開始,我們一直擴大對Google Play系統更新(項目主線)的投入力度,希望提升整個生態系統的安全性、隱私性與一致性。

由於與設備製造商之間的緊密合作,我們已經在這方面取得重大進展,並通過基礎設施擴展將Google Play更安全、更快速地推向更廣泛的設備類型。

在Android 11中,我們添加12項新的可更新模塊,意味著目前Google Play的總模塊數已經達到22個。

更新重點包括一個用於在Android設備上對用戶及開發者指向關鍵隱私控件的訪問權限進行標準化管理的模塊;一個用於在存儲層面保護隱私的介質提供方模塊;以及一個負責優化性能並保證跨API一致性的NNAPI(神經網絡API)模塊。

應用兼容性

在發布新平台版本前,我們還會優先考慮應用程序的兼容性,藉此保證更新後的運行速度與流暢性。

在Android 11中,我們添加新的進程、開發者工具以及發布里程碑,希望盡可能減少平台更新對應用性能造成的影響。

盡可能降低行為變更造成的影響:

雖然我們對Android做出的各項變更能提升系統實用性、安全性與性能水平,但也有部分變更可能影響開發者的應用體驗。

在構建Android 11時,我們在這方面投入大量精力,認真觀察系統變更對應用程序運行產生的影響,並儘可能將新功能設定為“可選”項目——只有在應用中將targetSdkVersion設置為“R”,開發者才會真正使用到這些新特性。

這將把變更對應用程序行為的影響降至最低。我們希望為開發者們賦予更多控制權,保證有更多應用程序能在Android 11上實現開箱即用。

降低測試與調試難度

為幫助大家輕鬆測試應用兼容性,我們為多項重大變更提供可切換選項,因此大家能通過開發者選項或者adb強制啟用/禁用這些變更。

如此一來,你無需變更targetSdkVersion或者重新編譯應用,即可實現對應用程序的基本測試。

Android 11迎來首個開發者預覽版,這些新功能必知 3

開發者選項中的應用兼容性切換功能。

灰名單更新

我們更新了受限非SDK接口,同時也歡迎大家就是否需要使用等效公共API向我們提交反饋意見。

動態資源加載器

作為非SDK接口的替代性舉措之一,開發者們要求我們提供公共API,藉此在運行時內動態加載資源與資產。如大家所願,我們在Android 11中添加了Resource Loader框架,同時也感謝各位提供反饋的開發者朋友!

新的平台穩定性里程碑

開發者們提醒我們,由於缺少明確的最終變更日期,在以往Android版本上實現應用程序的早期兼容性一直非常困難。

因此,在Android 11中,我們添加了新的“平台穩定性”里程碑。該里程碑有望在今年6月初實現,其中不僅包含最終SDK/NDK API,同時也將提供可能影響應用程序運行效果的最終內部API與系統行為設計。

七、細節改進與質量提升

連接

改進來電篩選服務

來電篩選應用現在可以更全面地服務於用戶。應用程序能將來電的STIR/SAKEN驗證狀態作為細節信息的一部分,同時對系統提供的來電篩選顯示界面進行自定義,允許用戶將來電標記為垃圾信息或者添加到聯繫人等等。

Wi-Fi提示API增強

我們擴展了Wi-Fi提示API,確保連接管理應用具有更強大的網絡自主管理能力。

例如,該應用可以關閉網絡建議、管理Passpoint網絡、接收關於已連接網絡的更多質量信息,並通過其他管理變更強制斷開當前連接。

Passpoint增強

Android現在會強制執行並通知Passpoint配置文件的到期日期,支持在配置文件中應用Common Name規範,並允許Passpoint R1配置文件使用具有自簽名的專用CA。

連接應用現在可利用Wi-Fi提示API管理Passpoint網絡。

圖像與攝像頭改進

HEIF可繪製動畫對象

ImageDecoder API現在允許開發者解碼並渲染存儲在HEIF文件中的圖像序列動畫,從而在使用高質量素材的同時,最大程度降低對網絡數據及apk大小的影響。

與GIF動圖相比,HEIF圖像序列能大幅削減文件體積。開發者可以使用HEIF源調用encodeDrawable,輕鬆在自己的應用程序內顯示HEIF圖像序列。如果源中包含圖像序列,則返回AnimatedImageDrawable。

原生圖像解碼器

新的NDK API使應用程序能通過原生代碼解碼與編碼圖像(JEPF、PNG、WebP等)實現圖形生成或後期處理。

由於無需捆綁外部庫,你的apk文件將得到有效瘦身。這款原生解碼器還將充分利用Android系統中的平台安全更新。

拍攝靜音機制

利用新的API,應用將在會話處於活動狀態時,自動關閉由鈴聲、警報或者通知帶來的聲音/振動提醒。

Bokeh modes

應用可以利用元數據標籤在受支持的設備上實現Bokeh拍攝模式。其中靜態圖像模式將帶來更高的拍攝質量,而連續拍攝模式也可保證捕捉內容與傳感器輸出(例如視頻捕捉)嚴格保持同步。

低延遲

MediaCodec中的低延遲視頻解碼

低延遲視頻功能對於實時視頻流應用以及Stadia雲遊戲等服務至關重要。

支持低延遲播放的視頻編/解碼器在解碼開始後,會盡快返回視頻流的第一幀。應用程序能利用新的API檢查並配置特定編/解碼器中的低延遲播放功能。

HDMI低延遲模式

應用可利用新的API在外部顯示器及電視設備上檢查併申請開啟自動低延遲模式(也稱遊戲顯示模式)。在此模式下,顯示器或電視會禁用圖像後處理功能,以最大程度降低延遲水平。

關於新版本的更多相關信息,請參閱Android 11開發者網站。其中包含版本新增功能、行為變更細節、設置與遷移指南、發布說明以及反饋渠道等一系列重要內容。