《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電源技術(shù) > 業(yè)界動態(tài) > 機器學(xué)習(xí)為核心,,DeepMind助力谷歌開發(fā)的安卓 9「Pie」今日上線

機器學(xué)習(xí)為核心,DeepMind助力谷歌開發(fā)的安卓 9「Pie」今日上線

2018-08-07
關(guān)鍵詞: 谷歌 安卓9 智能手機

今日,,谷歌開發(fā)者博客宣布,,經(jīng)過 1 年多的開發(fā)和數(shù)月的測試,安卓 9「Pie」將正式面世,。本文中,,我們將介紹安卓新版本的所有新特點。


今年 5 月份,,谷歌 I/O 大會宣布推出安卓 9,,而后經(jīng)過數(shù)月的測試,谷歌收獲了大量的反饋,。此外,,還有小米、Oppo 等 7 家設(shè)備制造商也將測試版本放到了他們的旗艦設(shè)備上,,使得谷歌能夠從全球用戶那里收集反饋信息,。


今日,谷歌宣布將把安卓 9 的源代碼放到安卓開源項目上(AOSP),,開始在所有的谷歌 Piexl 手機上用安卓 9,。據(jù)介紹,安卓 9 擁有的機器學(xué)習(xí)能力能讓手機變得更智能,、便利,、個性化。對開發(fā)者而言,,安卓 9 包含很多強化 APP 的新方法,。


Android 9 包含什么?


以機器學(xué)習(xí)為核心的更智能的智能手機


Android 9 能根據(jù)你的喜好自動調(diào)整你的手機,,讓它更適合你,。從幫助用戶充分利用電池壽命,,到任何時刻都能展現(xiàn) app 中最佳部分,只要用戶需要,,Android 9 都能讓這一切變得更順暢,、更持久。


自適應(yīng)電池(Adaptive Battery)

微信圖片_20180807190822.jpg



谷歌與 DeepMind 合作開發(fā)了個名為 Adaptive Battery 的功能,,該功能利用機器學(xué)習(xí)為用戶最關(guān)心的應(yīng)用優(yōu)化系統(tǒng)資源,。如果用戶的 app 針對 Doze、App Standby 或 Background Limits 進行了優(yōu)化,,那 Adaptive Battery 可以立即開始運行,。


Slice


通過在全屏應(yīng)用體驗之外啟用互動,Slice 可以幫助用戶更快地執(zhí)行任務(wù),。它通過使用 UI 模板來實現(xiàn)這一點,,這些模板從谷歌搜索應(yīng)用中顯示豐富、動態(tài)且交互的內(nèi)容,,之后還可以在 Google Assistant 等其他地方顯示這些內(nèi)容,。

微信圖片_20180807190856.jpg



App Actions


App Actions 是一種提高 app 可見度和參與度的新方法。Actions 利用機器學(xué)習(xí)的優(yōu)勢,,根據(jù) app 的語義內(nèi)容和用戶語境,,在合適時間將特定 app 的特定功能以快捷鍵的形式呈現(xiàn)給用戶。


微信圖片_20180807190923.gif

在接下來的幾周,,谷歌將分享更多關(guān)于注冊 app 的細節(jié),,這樣更多的 app 就可以授權(quán)給 App Actions,進而能響應(yīng)用戶需求并在多個谷歌和安卓界面運行,。


文本分類與智能鏈接


谷歌擴展了用于識別內(nèi)容或文本輸入中實體的機器學(xué)習(xí)模型,,已通過 TextClassifier API 支持更多類型,如日期和航班號,。Smart Linkify 可以通過讓 Linkify API 利用 TextClassifer 模型,,提供包括快速文本填充選項等操作。Smart Linkify 同時還可以顯著提高檢測精度和性能,。


Neural Networks 1.1


安卓 9 中包含了神經(jīng)網(wǎng)絡(luò) API 的新版本,以擴展安卓對設(shè)備上機器學(xué)習(xí)加速的支持,。具體來說,,Neural Networks 1.1 加入了對 9 個新操作的支持——Pad、BatchToSpaceND,、SpaceToBatchND,、Transpose、Strided Slice,、Mean,、Div、Sub、Squeeze,。通常利用這個 API 的方法是通過 TensorFlow Lite 來進行的,。


最大限度地利用你的手機


谷歌宣稱,新版本的安卓系統(tǒng)可以讓你的智能手機變得更加聰明,。但更重要的是,,隨著科技的發(fā)展,技術(shù)本身將逐漸隱藏在用戶界面背后,。在安卓 9 中,,谷歌的開發(fā)者們已將 Android 的 UI 轉(zhuǎn)變?yōu)楦唵巍⒏子谑褂玫男问健獙τ陂_發(fā)人員而言,,這些改進有助于改善用戶查找,、使用和管理 app 的方式。

微信圖片_20180807190951.gif

新系統(tǒng)導(dǎo)航


Android 9 引入了一個新系統(tǒng)導(dǎo)航,,谷歌為此開發(fā)了一年多,。新的設(shè)計使安卓的多任務(wù)處理更加簡便,并且更容易發(fā)現(xiàn) app,。用戶在手機上向上滑動,,就可以查看最近使用的應(yīng)用全屏預(yù)覽,只需點擊就可以跳轉(zhuǎn)回其中一個 app,。


Display cutout


現(xiàn)在你的 app 可以通過 Android 9 的顯示切換功能充分利用最新的無邊框屏幕,。對于大多數(shù)應(yīng)用來說,系統(tǒng)管理狀態(tài)欄會將內(nèi)容和切換功能分開,,所以運行切換功能完全無障礙,。如果有沉浸式內(nèi)容,用戶可以使用 display cutout APIs 來檢查位置和切換形狀并發(fā)送全屏請求,。為了幫助開發(fā)和測試,,谷歌添加了一個 Developer Option,可以在任何設(shè)備上模擬多個 cutout shapes,。

微信圖片_20180807191016.jpg

帶有沉浸式內(nèi)容的 APP 可以使用顯示切換功能在設(shè)備上全屏顯示,。


通知與智能回復(fù)


Android 9 使通知功能能有用且易操作。通知類 app 可以利用新的 MessagingStyle API 來顯示對話,、附上照片或標(biāo)記,,甚至還能提供智能回復(fù)。用戶很快就可以利用 ML Kit 為 app 生成回復(fù)建議,。

微信圖片_20180807191047.jpg


MessagingStyle 通知與對話和智能回復(fù) [左],,圖像和標(biāo)記 [右]。


文本放大


微信圖片_20180807191112.gif


在 Android 9 中,,谷歌添加了一個放大鏡部件來提高用戶選擇文本的體驗,。放大鏡部件允許用戶通過可拖動窗口查看放大的文本,,從而精確定位光標(biāo)或者文本選擇句柄。用戶可將它添加到任何窗口視圖中,,這樣就可以在自定義部件或自定義文本中使用它,。除了文本放大,放大鏡部件還可以為任何視圖提供放大功能,。


用戶安全及隱私


生物特征提示


微信圖片_20180807191147.jpg


隨著一系列用于身份驗證的生物傳感器的使用,,不同類型的傳感器和應(yīng)用程序之間的體驗變得更加一致。Android 9 引入了一個系統(tǒng)管理的對話框,,提示用戶輸入任何支持的生物認證類型,。應(yīng)用程序不再需要構(gòu)建自己的對話框,而是使用生物計量學(xué)提示 API(BiometricPrompt API)來顯示標(biāo)準(zhǔn)系統(tǒng)對話框,。除了指紋(包括顯示器內(nèi)傳感器),,API 還支持面部和虹膜認證。


如果你的應(yīng)用程序正在繪制自己的指紋驗證對話框,,你應(yīng)該盡快切換成使用生物計量學(xué)提示 API,。


受保護確認


Android 9 引入了 Android 保護確認系統(tǒng)(Android Protected Confirmation),它使用可信執(zhí)行環(huán)境(TEE)來保證給定的提示字符串被顯示給用戶確認,。只有在用戶確認成功后,,TEE 才會簽署提示字符串,然后應(yīng)用程序可以驗證該字符串,。


加強對密鑰的保護


谷歌添加了 StrongBox 作為一種新的密鑰存儲類型,,為在具有獨立 CPU、RAM 和安全閃存的防篡改硬件中提供密鑰存儲的設(shè)備提供 API 支持,。你可以設(shè)置密鑰是否應(yīng)該由 KeyGenParameterSpec 中的 StrongBox 安全芯片保護,。


通過 TLS 的域名系統(tǒng)


Android 9 通過 TLS 增加了對域名系統(tǒng)(DNS)的內(nèi)置支持,如果網(wǎng)絡(luò)的 DNS 服務(wù)器支持,,它會自動將 DNS 查詢升級到 TLS,。用戶可以在網(wǎng)絡(luò)和互聯(lián)網(wǎng)設(shè)置中以新的私有 DNS 模式通過 TLS 行為管理 DNS。執(zhí)行自己的 DNS 查詢的應(yīng)用程序可以使用新的 API——link properties . isprivated nsactive() 來檢查 DNS 模式,。


默認 HTTPS


作為重要工作的一部分,,Android 9 將所有網(wǎng)絡(luò)通信從 cleartext(非加密 HTTP)移動到通過 TLS 加密(HTTPS)的網(wǎng)站,他們將修改默認的網(wǎng)絡(luò)安全配置以阻止所有 cleartext 通信,。用戶現(xiàn)在需要通過 TLS 連接,,除非明確地選擇特定域的 cleartext。


基于編譯器安全的 Mitigations 


在 Android 9 中,,谷歌已經(jīng)擴展了編譯器級 mitigations 的使用,并通過危險行為的運行時檢測來強化平臺,??刂屏魍暾裕–ontrol Flow Integrity,,CFI)技術(shù)有助于防止代碼復(fù)用工具和代碼執(zhí)行。在 Android 9 中,,谷歌已經(jīng)極大地擴展了媒體框架和其它安全組件(如 NFC 和藍牙)中對 CFI 的使用,。在使用 LLVM 構(gòu)建時,谷歌還在 Android 常用核心中引入了 CFI 核心支持,。


此外,,谷歌還擴展了整數(shù)溢出錯誤 sanitizers 的使用以緩解內(nèi)存損壞和信息泄漏漏洞等問題。


用戶隱私


Android 9 以多種方式保護隱私,。該系統(tǒng)現(xiàn)在限制了麥克風(fēng),、攝像頭和空閑 app 中所有傳感器的訪問。當(dāng) app 的 UID 處于空閑時,,麥克風(fēng)和傳感器都會停止報告,。應(yīng)用程序所用的攝像會斷開連接,如果應(yīng)用程序試圖使用攝像頭,,會產(chǎn)生錯誤,。大多數(shù)情況下,這些限制不應(yīng)該為 app 引入新問題,,但是還是建議用戶從你的 app 中刪除這些請求,。


Android 9 還允許用戶在獲得 READ_PHONE_STATE 權(quán)限后訪問平臺的 build.serial 標(biāo)識符。需要通過 Build.getSerial() 方法獲得 build.serial 標(biāo)識符,。


相機,、音頻、圖像方面的新體驗


多攝像頭 API 和其它拍照更新


使用 Android 9,,你現(xiàn)在可以在支持多攝像頭 API 的設(shè)備上同時打開來自兩個或更多物理攝像頭的流,。在配備兩個前置攝像頭或兩個后置攝像頭的設(shè)備上,你可以實現(xiàn)單個攝像頭無法實現(xiàn)的創(chuàng)新功能,,例如無縫變焦,、散景和立體視覺。API 還允許你調(diào)用邏輯或融合的攝像機流,,該流可以在兩個或多個攝像機之間自動切換,。


相機的其它改進還包括新的會話參數(shù)(Session parameters)和表面共享(Surface sharing),前者有助于減少初始捕獲期間的延遲,,而后者允許相機客戶端處理各種應(yīng)用,,而無需停止和啟動相機流。谷歌還為基于顯示的 flash support 添加了 API,,并為 app 級圖像穩(wěn)定和特效添加了 OIS 時間戳,。


HDR VP9 視頻和 HEIF 圖像壓縮


Android 9 增加了對 HDR VP9 Profile 2 的內(nèi)置支持,因此你現(xiàn)在可以在支持 HDR 的設(shè)備上向用戶提供支持 HDR 的電影,。


谷歌將 HEIF ( heic ) 圖像編碼添加到平臺中,。HEIF 是一種流行的照片格式,,它改進了壓縮方式以保存存儲和網(wǎng)絡(luò)數(shù)據(jù)。借助 Android 9 設(shè)備上的平臺支持,,從后端服務(wù)器發(fā)送和利用 HEIF 圖像變得很容易,。一旦確定你的應(yīng)用程序與共享和顯示的數(shù)據(jù)格式兼容,你可以嘗試在應(yīng)用程序中使用 HEIF 作為圖像的存儲格式,。你可以使用 ImageDecoder 或 BitmapFactory 從 jpeg 獲得位圖來實現(xiàn)從 jpeg 到 heic 的轉(zhuǎn)換,,并且可以使用 AndroidX 庫中的 HeifWriter 從 YUV 字節(jié)緩沖區(qū)、表面或位圖寫入 HEIF 靜止圖像,。


通過動態(tài)處理增強音頻


動態(tài)處理 API 允許你使用一種新的音頻效果來隔離特定頻率,,降低聲音或增加柔和聲音,以提高 app 的音質(zhì),。例如,,你可以改善在嘈雜環(huán)境中說話聲音不明顯的人的聲音。API 還允許你訪問多級,、多波段動態(tài)處理效果,,包括預(yù)均衡器、多波段壓縮器,、后均衡器和鏈接限制器,。


微信圖片_20180807191229.jpg


位圖和繪圖的圖像解碼器


圖像解碼器(ImageDecoder)API 為你提供了一種將圖像解碼為位圖或繪圖的更簡便方法。你從字節(jié)緩沖區(qū),、文件或 URI 中創(chuàng)建位圖或繪圖,。與 BitmapFactory 相比,API 提供了幾個優(yōu)勢,,包括對精確縮放的支持,、對物理內(nèi)存的單步解碼、對解碼后處理的支持以及對動畫圖像的解碼,。


連接和定位


用于室內(nèi)導(dǎo)航的 Wi-Fi RTT

微信圖片_20180807191346.jpg


Android 9 可以讓你通過 IEEE 802.11mc Wi-Fi 協(xié)議(即 Wi-Fi Round-Trip-Time,,RTT)的平臺支持構(gòu)建室內(nèi)導(dǎo)航功能到你的 app 上。在具備硬件支持,、位置許可和位置啟用的 Android 9 設(shè)備上,,你的 app 可以使用 RTT API 來測量 Wi-Fi 接入點(AP)的距離。設(shè)備不需要連接 AP 來使用 RTT,,并且為了保護隱私,,只有手機可以確定距離,AP 不可以,。


如果知道到 3 個或 3 個以上接入點的距離,,就可以將設(shè)備位置的計算精確到 1 到 2 米。在這種精確度下,設(shè)備可以支持建筑物內(nèi)導(dǎo)航等應(yīng)用,;基于定位的細粒度服務(wù),,如消歧語音控制(例如「打開此燈」),;以及基于定位的信息(例如,,「這種產(chǎn)品有特別優(yōu)惠嗎?」),。


JobScheduler 的數(shù)據(jù)成本敏感度


JobScheduler 是安卓的中心服務(wù),,用于幫助你管理預(yù)定的任務(wù)或運行 Doze、App Standby 和 Background Limits,。在 Android 9 中,,JobScheduler 可以為用戶更好地處理網(wǎng)絡(luò)相關(guān)的任務(wù),協(xié)調(diào)運營商單獨提供的網(wǎng)絡(luò)狀態(tài),。Jobs 現(xiàn)在可以宣布它們估計的數(shù)據(jù)大小,、信號預(yù)讀并規(guī)定詳細的網(wǎng)絡(luò)需求——運營商可以報告擁堵或未計量網(wǎng)絡(luò)。JobScheduler 可根據(jù)網(wǎng)絡(luò)狀態(tài)進行管理,。例如,,當(dāng)網(wǎng)絡(luò)擁堵時,JobScheduler 可暫緩大型網(wǎng)絡(luò)請求,。當(dāng)未計量時,,它可運行預(yù)讀作業(yè)以改善用戶體驗,例如預(yù)讀標(biāo)題,。


為 NFC 支付和安全交易開放移動 API


Android 9 添加了 GlobalPlatform Open Mobile API 的一個實現(xiàn)到安卓上,。在支持的設(shè)備上,app 可以使用 OMAPI API 來訪問安全組件(SE),,以允許智能卡支付和其它安全服務(wù),。硬件抽象層(HAL)提供潛在的 API 以列舉可用的安全組件種類(eSE、UICC 和其它),。


app 的性能


ART 的性能改善


Android 9 能通過 ART 運行時為所有 app 帶來性能和效率的提升,。谷歌已經(jīng)擴展了 ART 的執(zhí)行文件使用來優(yōu)化 app 并減少編譯 app 代碼的內(nèi)存占用。ART 現(xiàn)在能使用文件信息進行 DEX 文件的設(shè)備上重寫,,并在多種流行的 app 中減少 11% 的內(nèi)存占用,。谷歌期待這些改善能帶來系統(tǒng) DEX 內(nèi)存使用的減少,以及更快的 app 啟動時間,。


優(yōu)化 Kotlin


Kotlin 是安卓系統(tǒng)的第一語言,,如果你尚未嘗試過,趕緊,!谷歌承諾會長期在安卓中使用 Kotlin,,并將繼續(xù)擴展支持,包括優(yōu)化 Kotlin 代碼的性能。在 Android 9 中,,你將能看到這項工作的首個結(jié)果,。我們已經(jīng)改善了多個編譯器的性能,特別是那些目標(biāo)指向循環(huán)語句的,,以獲得更優(yōu)的性能,。你僅需要保持 Android Studio 的 Kotlin 插件是最新的,就能獲取所有最新的 Kotlin 性能提升,。


此外,,谷歌今天也發(fā)布了 Android 9-API 29 SDK(rev. 6) 的更新,其中在某些最頻繁使用的 API 中包含空屬性標(biāo)記,。


現(xiàn)代安卓


作為 Android 9 項目的一部分,,谷歌的目標(biāo)是現(xiàn)代化安卓的基礎(chǔ)建設(shè),以及在其上運行的 app,。正如去年谷歌所宣布的,,Google Play 將在 2018 年 11 月讓所有 app 更新目標(biāo) Android Oreo(targetSdkVersion 26 或更高)。據(jù)此,,如果你的 app 目標(biāo)指向了早于 Android 4.2(API level 17) 的平臺,,用戶在那之后安裝它時將看到一個警告對話。


讓你的 app 準(zhǔn)備好在 Android 9 中使用


微信圖片_20180807191414.jpg



今天,,Android 9 將推送給 Pixel 用戶,,并且也將在接下來的幾個月推送給其它設(shè)備。為此,,盡快測試你的 app 的兼容性是很重要的,。你只需要從 Google Play 中下載 app 或使用模擬器來運行 Android 9。在你進行這個流程時,,確保你的 app 可以運行,,并運行良好,即確保設(shè)備能適應(yīng) Android 9 的變化,。


同樣請注意在 app 中使用非 SDK 界面,。Android 9 限制了訪問選擇的非 SDK 界面,因此你應(yīng)該減少對它們的依賴,。


在你做了必要的更新后,,建議立刻發(fā)布更新到 Google Play 上,不要改變 app 的平臺目標(biāo),。這能確保你在使用 Android 9 API 和目標(biāo)來增強 app 時,,獲得 Android 9 的良好用戶體驗,


用 Android 9 的功能和 API 來增強你的 app


當(dāng)你準(zhǔn)備好時,,就安裝 Android 9 并在其中使用新的功能和 API 來做開發(fā),。


最開始,,你需要下載官方 API 28 SDK、最新的工具和模擬器映像到 Android Studio 3.1 中,,或者使用 Android Studio 3.2 的最新版本,。然后更新你的項目的 compileSdkVersion 和 targetSdkVersion 到 API 28。當(dāng)你改變目標(biāo)時,,確保你的 app 支持所有合適的行為變化,。


一旦準(zhǔn)備好了,發(fā)布你的 API 更新到 Google Play 上,。一個常用的策略是使用 Google Play 的 beta 測試功能以從一小群用戶獲取早期反饋,,然后給產(chǎn)品做階段性展示。


進入設(shè)備之中


從今天開始,,一項 Android 9 的無線更新將開始推送到 Pixel 手機上。并且那些安裝了測試版軟件的設(shè)備,,包括索尼,、小米、HMD Global,、Oppo,、Vivo、一加和 Essential,,以及所有授權(quán)的 Android One 設(shè)備,,將在今年秋末接收到這項更新。我們也正在與一些伙伴合作在今年將設(shè)備更新為 Android 9,。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]