谷歌Android 9 Pie正式版更新內容大全
Android 9終版新功能
以機器學習為核心,打造更為智能的手機
Android 9賦予手機強大的學習能力:系統能夠根據用戶在使用過程中展露的習慣與偏好,進行自我學習與適應——從強勁續航到人性化應用推薦,Android 9都能想你所想,保障持久流暢的用戶體驗。
動態電量管理
我們與DeepMind合作推出了動態電量管理特性,利用機器學習技術對系統資源進行有限分配,更專註於用戶最常用的應用。如果您已經針對低耗電模式、應用待機模式以及後台限制對您的應用進行過相關優化,那麼它就應該已經能夠和動態電量管理特性完美配合。
Slices
Slices能夠有效幫助用戶節省操作時間,不需要通過全屏體驗就能夠使用應用的部分功能。藉助配套的UI模板,Slices能夠將應用內容以高動態、富交互的形式插入到多個使用場景中,比如Google Search和Assistant。
App Actions
App Actions是一種全新的應用推薦方式。開發者可以利用這個功能,讓更多人看到自己的應用並極大提高用戶參與度。藉助機器學習技術,App Actions能對應用的語義意圖和使用場景進行分析,並根據分析結果在適當的時機向用戶推薦您的應用。
GIF
我們將在接下來幾周內公布具體操作細節,幫助開發者了解如何在應用內處理一個或多個用戶意圖。一旦應用啟用該推薦功能後,系統就會根據用戶請求,在眾多Google和Android交互入口推薦您的應用。
文本識別與Smart Linkify
在Android 9中,我們對識別文本的機器學習模型進行了擴展,使其可以藉助TextClassifier API識別出類似日期或航班號這樣的信息。此外,Smart Linkify允許開發者通過Linkify API使用文本識別模塊完成多項操作,比如對用戶可採取的操作提出建議。Smart Linkify讓系統在文本識別精確度與速度上都有明顯的提升。
GIF
神經網路API 1.1
Android 9.0對神經網路API進行了擴展與改進,進一步優化Android對機器學習硬體加速的支持。神經網路API 1.1共增加了對9個新運算元的支持,它們分別是Pad、BatchToSpaceND、SpaceToBatchND、Transpose、Strided Slice、Mean、Div、Sub和Squeeze。TensorFlow Lite就是一個已經用上此API的典型機器學習框架。
人機交互,就是這麼容易
「讓智能手機更加智能」是我們向前邁進的重要一步。但是,如何把握好用戶與科技的關係——讓科技以人為先,這一點也同樣關鍵。在Android 9中,我們大幅度改進了用戶界面,讓它更簡潔,也更易於操作;對於開發者而言,這些變更能夠讓用戶更加容易搜索,使用和管理您的應用。
全新系統導航
經過一年多的努力,Android 9迎來了全新的系統導航,讓多任務切換及關聯應用探索變得更加簡單。您只需要向上滑動屏幕就可以全屏預覽最近使用過的應用,輕觸預覽頁後便可以切換至所選應用。
GIF
凹口屏支持
Android 9中加入了凹口屏支持,讓您的應用可以充分利用最新全面屏,展現應用的獨特魅力。該功能可以在大部分應用中無縫工作,系統會通過調整狀態欄高度將應用內容與屏幕缺口區域分開。如果您的應用含有沉浸式內容,您可調用display cutout APIs確認缺口形狀與位置,然後請求圍繞缺口進行全屏布局。另外,我們還加入了開發者選項來模擬任意設備上的凹口形狀,從而極大簡化了應用支持凹口屏幕所需的構建以及測試流程。
通知與智能回復
Android 9進一步改善了通知的實用性與可操作性。消息類應用可以調用新的MessagingStyle API來顯示對話,附加照片和表情,或者提供智能回復建議。再過不久,您就可以使用ML Kit在應用中生成智能回復。
文本放大鏡
Android 9中添加文字放大鏡工具(Magnifier widget),以提升文本選擇方面的用戶體驗。由於該放大器提供了可以在文本上方拖拽的文本放大面板,所以有助於用戶精準地定位游標或文本選擇手柄。該功能可以靈活運用在所有附加在窗口的視圖上,個性化小部件和定製文本呈現均是不錯的應用場景。而且,該放大器工具還可以提供任何視圖或界面的放大版本,而不僅僅是文本。
GIF
用戶安全與隱私
統一身份驗證對話框
生物感測器被廣泛應用於身份認證,為了保障用戶在不同感應器和應用間能夠獲得一致的體驗,Android 9引入了統一的身份驗證對話框,提示用戶進行操作。應用不再需要自行設計對話框,而是通過調用BiometricPrompt API觸發系統對話框。除指紋識別以外(包括屏幕下指紋識別),該API還支持面部識別以及虹膜識別。
若您的應用仍在使用自行設計的指紋識別對話框,我們建議您儘快轉用BiometricPrompt API。
高可信度用戶確認
Android 9新增了高可信度用戶確認(Android Protected Confirmation),該功能通過可信執行環境(TEE)確保提示文本被真實用戶確認。只有在用戶成功確認之後,TEE才會簽發該文本,讓應用進行後續驗證步驟。
加強密鑰安全保護
我們還加入了一個新的KeyStore類——StrongBox,並提供相應的API來支持那些提供了防入侵硬體措施的設備,比如獨立的CPU,內存以及安全存儲。您可以在KeyGenParameterSpec里進行設置,決定是否把密鑰交給StrongBox安全晶元來保存。
DNS over TLS
Android 9內置對DNS over TLS的支持:若網路DNS伺服器提供支持,設備會自動將DNS查詢升級為TLS查詢。用戶可以通過更改「網路和互聯網」設置下的隱私DNS (Private DNS)模式來管理DNS over TLS行為。自行運行DNS查詢的應用可以通過調用新的LinkProperties.isPrivateDnsActive() API來獲取DNS模式相關信息。請閱讀《Android P開發者預覽版支持DNS over TLS》,獲取進一步信息。
默認使用HTTPS
為了將所有網路流量從明文(未加密的HTTP)逐步遷移至TLS,我們更改了網路安全配置的默認設置,以阻止所有明文流量,強制應用通過TLS建立網降連接,除非開發者明確允許特定域名使用明文傳輸。
基於編譯器的安全緩解措施
Android 9將進一步擴展編譯器級別的安全緩解措施,藉助運行時危險行為監測進一步加強平台安全建設。Android 9通過控制流程完整性(CFI)技術解決了代碼重用(code-reuse)和任意代碼執行兩大漏洞,並擴展了CFI在媒體框架和其它關鍵安全組件內的使用範圍,如NFC與藍牙。同時,Android 9還針對Android常見內核的LLVM編譯添加了CFI內核支持。
此外,Android 9還將整數溢出檢查器(Integer overflow sanitizer)的使用範圍擴展到其他庫,以緩解內存損壞與信息泄露這兩個問題。我們調高了檢查器在以下兩類庫中的優先順序:1)存在歷史漏洞,2)需要處理複雜且不受信任的輸入,如libui、libnl和libmediaplayerservice一類的庫都在調整範圍內。
用戶隱私
Android 9新加入多項機制,進一步加強了對用戶隱私的保護。系統禁止所有處於空閑狀態的應用對話筒、攝像頭和所有SensorManager感測器的訪問。當應用的UID空閑時,麥克風將會報告「無音頻信號」,感測器將會停止報告事件,應用使用的攝像頭也會斷開連接,並在應用試圖訪問時生成錯誤。在大多數情況下,這些限制不會對現有應用造成新的問題,但建議您從應用中移除此類感測器請求。
Android 9還讓用戶控制是否允許訪問平台build.serial識別碼(它被READ_PHONE_STATE許可權保護)。自Android 8.0以來,直接訪問此識別碼的功能已被棄用。您可以調用Build.getSerial()方法,訪問build.serial識別碼。
感官新體驗:攝像和影音的全面升級
多攝像頭API以及其它改進
從Android 9開始,您可以在支持多攝像頭API的設備上通過兩個或更多實體攝像頭同時訪問視頻流;在配有雙前置或雙後置攝像頭的設備上,實現單攝像頭無法實現的創新功能:如無縫變焦、散景和立體視覺。該API還允許您調用可以在兩台或更多台攝像頭之間自動切換的邏輯或混合攝像頭視頻流。
攝像頭的其他改進還包括:利用新的會話參數(Session parameters)來有效減少初始捕捉時的延遲,表面(Surface)共享技術讓攝像頭客戶端無須重啟視頻流便可處理各種場景。此外,我們還加入了相關API,提供基於屏幕閃光燈支持及OIS時間戳的訪問許可權。
HDR VP9視頻以及HEIF圖像
Android 9增加了對HDR VP9 Profile 2的內置支持。現在,您可以在支持HDR的設備上,把啟用HDR功能的視頻內容分享給您的用戶。
另外,我們還在添加了對HEIF (heic) 圖像編碼的平台支持。HEIF是目前比較流行的一種的壓縮格式,它改善了圖片的壓縮效果,並減少了圖片的儲存空間以及網路流量。引入平台支持後,開發者能更加方便地從後台伺服器傳輸並使用HEIF圖像。一旦確定您的應用與該數據格式兼容,可用於分享或者顯示,不妨嘗試將HEIF設定為應用內圖片的儲存格式。此外,您還可以通過ImageDecoder將jpeg文件轉化為heic文件,或通過Bitmap Factory從jpeg文件中獲取點陣圖。您亦可使用AndroidX庫中的HeifWriter從YUV位元組緩衝區、Surface以及點陣圖中寫入HEIF靜態圖像。
使用動態處理增強音頻
開發者可以調用Dynamics Processing API對音頻進行動態處理,通過分離出特定頻率的聲音,降低過大的音量,或者增強過小的音量,來改善應用的音頻質量。比如說,即便說話者聲音小,離麥克風遠,而且外界環境十分嘈雜,您的應用依然可以有效捕捉並他/她的聲音,並進行相應優化。該API提供了多聲場、多頻段的動態處理效果,包括一個預均衡器、一個多頻段壓縮器,一個後均衡器以及一個串聯的音量限制器。
用於點陣圖和drawable的ImageDecoder
ImageDecoder API讓開發者可以通過一種更為簡單的方式將圖像解碼為點陣圖或drawable。ImageDecoder允許您從位元組緩衝區、文件或URI創建點陣圖或drawable。它相比BitmapFactory有以下幾個優勢:支持精確縮放,支持單步解碼至硬體存儲器,支持解碼後處理,以及動畫圖像解碼。
網路連接與位置
使用Wi-Fi RTT,進行室內定位
Android 9為IEEE 802.11mc Wi-Fi協議添加了平台支持(也稱為Wi-Fi往返時間,RTT),這可以讓您在應用中使用室內定位功能。在提供硬體支持的Android 9設備上,在啟動位置服務並勾選「允許獲取地理位置信息」選項後,應用就可以使用RTT API測量與附近Wi-Fi接入點(AP)的距離。設備不需要連接到AP便可以使用RTT,而且為了保護隱私,只有手機能夠確定距離,而AP不可以。
通過測量從設備到三個或更多AP的距離,您可以計算設備位置至1到2米的精度。這種精確度允許您創建更多新的體驗:室內導航、基於位置的細粒度服務,例如,模糊語音控制( "打開這裡的燈" );以及基於位置的資訊服務( "這個產品有優惠活動嗎?" )。
JobScheduler中的數據費用敏感度
JobScheduler是Android的一項核心服務,它可以幫助您針對低耗電模式、應用待機模式以及後台限制,妥善進行各種任務的調度。在Android 9中,JobScheduler可以更好地幫助用戶處理與網路相關的任務,並與運營商單獨提供的網路狀態信號相協調。任務現在可以聲明預估數據量、信號預取以及指定詳細的網路要求——運營商可以報告網路狀況是擁塞還是不計量,然後JobScheduler會根據網路狀態管理作業。例如,當網路擁塞時,JobScheduler可能推遲大型網路請求;而在網路可以不計量使用時,則可以運行多種預載入作業(例如,預讀標題)來改進用戶體驗。
用於NFC支付和安全交易的Open Mobile API
Android 9將GlobalPlatform Open Mobile API的實現添加至平台中。在支持的設備上,應用可以使用OMAPI API訪問安全元素(SE),以啟用智能卡支付等安全服務。硬體抽象層(HAL)提供了必要的API,用於枚舉多種可用的Secure Elements (如eSE, UICC等)。
更強勁的性能表現
ART性能提升
Android 9藉助ART運行時顯著提高了應用的性能表現與運行效率。我們擴展了ART對執行特徵的使用,以優化應用並減少已編譯應用代碼的內存佔用量。ART現可使用特徵文件信息在設備上重寫DEX文件,幫助多個常見應用的內存佔用減少高達11%。我們期望藉此減少系統DEX內存使用量並加快應用啟動時間。
Kotlin優化
Kotlin是Android開發的一等編程語言,如果您還未嘗試,還在等什麼呢?我們在Kotlin性能方面進行了長期資源投入,同時持續加大對Kotlin的支持,如優化Kotlin代碼性能。在Android 9中,您會看到這項工作已初見成效——我們已經改進了一些編譯器優化,尤其是那些針對循環的編譯器優化,以實現更好的性能。我們還將繼續與JetBrains合作,優化Kotlin生成的代碼。只需保持更新Android Studio上的Kotlin插件,您就能獲得所有最新的Kotlin性能更新。
現代化的Android
在Android 9中,我們繼續投入大量資源,進一步打造更為現代的Android平台與運行應用,進而推動我們在安全性、性能和穩定性這三方面長遠目標的實現。
我們在去年就已經宣布過Google Play將要求所有應用在2018年11月之前針對Android Oreo (targetSdkVersion 26或更高)進行更新。因此,若您的應用目標平台版本早於Android 4.2 (API等級17),用戶在安裝您的應用時,系統會彈出警告對話框。請閱讀遷移指南相關文檔。我們期待著您的應用能夠充分利用現代Android為用戶帶來更好的體驗。
了解更多Android 9 Pie開發資料,請點此鏈接。
※人類未來會怎樣?阿里馬雲成立羅漢堂
※vivo NEX搭載全新能量UI,自動調整圖標風格
TAG:IT之家 |