Android 10 開發亮點有哪些?

極力推薦文章:歡迎收藏 Android 乾貨分享 android

和您一塊兒終身學習,這裏是程序員Android

本篇文章主要介紹 Android 開發中的部分知識點,經過閱讀本篇文章,您將收穫如下內容:git

  1. 創新和新體驗亮點
  2. 用戶隱私亮點
  3. 安全功能亮點
  4. 相機和多媒體亮點
  5. Connectivity 亮點

本文參考連接以下:developer.android.com/about/versi…程序員

Android 10 圍繞三個重要主題構建。 首先,Android 10 正在塑造移動創新的領先優點,具備先進的機器學習功能,並支持新興設備,如可摺疊和5G手機。 接下來,Android 10主要關注隱私和安全性,其中近50項功能可爲用戶提供更好的保護,透明度和控制。 最後,Android 10擴展了用戶的數字健康功能(digital wellbeing),所以我的和家庭能夠找到更好的技術平衡。安全

下面介紹Android 10中的開發人員以及今天如何使用它性能優化

創新和新體驗

藉助Android 10,您能夠利用最新的硬件和軟件創新爲用戶構建出色的應用體驗。微信

Foldables

基於強大的多窗口支持,Android 10能夠跨應用程序窗口擴展多任務處理,並提供屏幕連續性,以便在設備摺疊或展開時保持您的應用程序狀態。Android 10在onResumeonPause上添加了許多改進, 以支持多重簡歷並在焦點有效時通知您的應用。它還會更改 resizeableActivity 清單屬性的工做方式,以幫助您管理應用在可摺疊和大屏幕上的顯示方式。爲了幫助您構建可摺疊設備,您能夠將可摺疊模擬器配置爲Android Studio中的虛擬設備(AVD)。有關如何針對可摺疊程序優化應用程序的詳細信息,請參閱 開發人員指南。網絡

使用Android 10,您能夠優化摺疊和其餘大屏幕設備的應用程序。

5G 網絡

5G網絡提供始終如一的更快速度和更低的延遲,Android 10增長了對5G的平臺支持,並擴展了現有的API, 以幫助您利用這些加強功能。您可使用鏈接API來檢測設備是否具備高帶寬鏈接,並檢查鏈接是否已計量。有了這些,您的應用和遊戲能夠爲5G以上的用戶量身定製豐富,身臨其境的體驗併發

便捷回覆通知 Notification

Android 10使用設備上的ML來建議通知中的上下文操做,例如對消息進行智能回覆或打開通知中地址的地圖。您的應用能夠當即利用此功能,而無需執行任何操做。系統提供的智能回覆和操做默認直接插入通知中。若是須要,您仍然能夠提供本身的回覆和操做。只需使用setAllowGeneratedReplies()setAllowSystemGeneratedContextualActions()在每一個通知的基礎上選擇退出智能回覆 。框架

智能回覆能夠根據通知內容建議操做

Dark Theme

Android 10增長了系統範圍的黑暗主題,很是適合低光照,有助於節省電池電量。用戶能夠經過轉到「設置」或打開「省電模式」來激活新的系統範圍的黑暗主題。這會將系統UI更改成黑暗,並啓用支持它的應用程序的黑暗主題。您能夠爲應用程序構建自定義黑暗主題,也能夠選擇使用新的Force Dark功能,讓系統從現有主題動態建立黑暗版本。您可能還但願利用AppCompatDayNight功能爲早期版本的Android上的用戶提供黑暗主題。有關 更多信息,請參閱開發者指南。機器學習

Android 10可使用Force Dark動態爲您的應用建立黑暗主題。

手勢導航

Android 10引入了徹底手勢導航模式,消除了導航欄區域,並容許應用程序使用全屏幕來提供更豐富,更身臨其境的體驗。它經過邊緣滑動而不是可見按鈕保留熟悉的Back,Home和Recents導航。要與手勢導航無縫融合,您應該邊緣到邊緣,在導航欄後面繪製以建立身臨其境的體驗。要實現這一點,應用程序應使用 setSystemUiVisibility() API全屏佈局,而後 根據須要處理 WindowInsets,以確保不會遮蓋重要的UI部分。當即開始優化您的應用,並查看咱們的博客文章系列以獲取更多信息。

手勢導航爲應用程序提供內容的全屏

快捷分享功能

共享快捷方式使分享更快捷,讓用戶直接跳轉到另外一個應用程序以共享內容。開發人員能夠發佈在其應用中添加內容的特定活動的共享目標,並在共享UI中向用戶顯示這些目標。由於它們是預先發布的,因此共享UI在啓動時會當即加載。共享快捷方式相似於應用程序快捷方式,並使用相同的ShortcutInfo API。ShareTarget AndroidX庫也支持API。有關詳細信息,請參閱示例應用

經過共享快捷方式,用戶能夠直接跳轉到已添加內容的應用中的特定Activity

用戶隱私

隱私是Android 10的核心焦點,從平臺中更強的保護到設計時考慮到隱私的新功能。在以前的版本基礎上,Android 10包含大量更改以保護隱私併爲用戶提供更多控制,改進了系統UI,更嚴格的權限以及對數據應用程序可使用的限制。有關如何在應用中支持這些內容的詳細信息,請參閱隱私權更改。

用戶如今能夠選擇在應用程序位於前臺時授予對位置的訪問權限

讓用戶更好地控制位置數據 - 用戶能夠經過新的權限選項更好地控制他們的位置數據 - 他們如今能夠容許應用僅在應用實際使用時(在前臺運行)訪問位置。對於大多數應用程序而言,這提供了足夠的訪問級別,而對於用戶而言,它在透明度和控制方面有了很大的改進。要了解有關位置更改的更多信息,請參閱開發人員指南 或咱們的博文。

保護網絡掃描中的位置數據 - 掃描網絡的大多數API都須要粗略的位置權限。Android 10經過要求精確的位置權限來增長對這些API的保護。

防止設備跟蹤 - 應用程序沒法再訪問可用於跟蹤的不可重置設備標識符,包括設備IMEI,序列號和相似標識符。默認狀況下,設備的MAC地址在鏈接到Wi-Fi網絡時也會隨機化。閱讀最佳實踐以幫助您爲用例選擇正確的標識符,並在此處查看詳細信息 。

保護外部存儲中的用戶數據 - Android 10引入了許多更改,使用戶能夠更好地控制外部存儲中的文件及其中的應用程序數據。應用程序能夠將本身的文件存儲在其私有沙箱中,但必須使用MediaStore訪問共享媒體文件,並使用系統文件選擇器訪問新的Downloads集合中的共享文件。在這裏瞭解更多 。

阻止沒必要要的中斷 - Android 10阻止應用程序從背景中啓動,意外地跳轉到前臺並從其餘應用程序接管焦點。在這裏瞭解更多 。

安全

Android 10引入了許多功能 ,經過加密,平臺強化和身份驗證的進步,使用戶更加安全。瞭解更多關於這裏的Android 10的安全更新。

存儲加密 - 全部使用Android 10啓動的兼容設備都須要加密用戶數據,爲了提升效率,Android 10還包括咱們新的加密模式Adiantum

默認狀況下爲TLS 1.3 - 默認狀況下,Android 10還支持TLS 1.3,這是對TLS標準的重大修訂,具備性能優點和加強的安全性。

平臺強化 - Android 10還包括對平臺的幾個安全關鍵領域 的強化。

改進的生物識別技術 - Android 10擴展了 BiometricPrompt框架,以支持面部等被動身份驗證方法,並添加隱式和顯式身份驗證流程。在顯式流程中,用戶必須在身份驗證期間明確確認TEE中的事務。隱式流程設計用於具備被動身份驗證的事務的輕量級替代方案。Android 10還可在須要時改進設備憑據的後備。在這裏瞭解更多 。

camera 與 多媒體

照片的動態深度

應用程序如今能夠請求動態深度圖像,該圖像由與深度相關元素相關的JPEG,XMP元數據以及嵌入在同一文件中的深度和置信度圖組成。這些可以讓您在應用中提供專業的模糊和散景選項。Dynamic Depth是 生態系統的開放格式,咱們正在與合做夥伴合做,將其引入運行Android 10及更高版本的設備。

音頻的獲取與播放

如今,任何播放音頻的應用均可以讓其餘應用使用新的音頻播放捕獲API捕獲其音頻流 。除了啓用字幕和字幕外,API還容許您支持流媒體遊戲等流行用例。咱們在構建此新功能時考慮到了隱私和版權保護,所以應用程序捕獲其餘應用程序音頻的能力受到限制,使應用程序能夠徹底控制是否能夠捕獲其音頻流。閱讀此 博客文章中的更多內容。

新增音頻 視頻解碼器

Android 10增長了對開源視頻編解碼器 AV1的支持,容許媒體提供商使用更少的帶寬將高質量的視頻內容傳輸到Android設備。此外,Android 10支持使用Opus的音頻編碼 - 一種針對語音和音樂流優化的開放式免版稅編解碼器 - 以及 支持它的設備上的高動態範圍視頻的HDR10 +。該MediaCodecInfo API 引入了一個更簡單的方法來肯定視頻渲染的Android設備的能力。對於任何給定的編解碼器,您能夠得到支持的大小和幀速率列表。

引入原生 MIDI API

對於使用C ++執行音頻處理的應用程序,Android 10引入了 原生MIDI API,經過NDK與MIDI設備進行通訊。此API容許使用非阻塞讀取在音頻回調內檢索MIDI數據,從而實現MIDI消息的低延遲處理。試試這裏的示例應用程序和 源代碼。

客製化麥克風

Android 10經過新的MicrophoneDirection API爲您提供對音頻捕獲的更多控制 。您可使用 API 在錄製音頻時指定麥克風的首選方向。例如,當用戶拍攝「自拍」視頻時,您能夠請求前置麥克風進行錄音(若是存在)。此外,該API引入了一種控制可縮放麥克風的標準化方法,容許您的應用程序控制記錄字段維度。

隨處可用的Vulkan

Android 10 經過 咱們爲高性能3D圖形實現低開銷,跨平臺API,擴展了Vulkan的影響。Vulkan 1.1如今是運行Android 10及更高版本的全部64位設備的要求,而且建議全部32位設備使用。咱們已經看到生態系統中Vulkan支持的重要動力 - 在運行Android N或更高版本的設備中,53%支持Vulkan 1.0.3或更高版本。隨着Android 10的新要求,咱們預計將來一年的採用率將進一步提高。

Connectivity

優化點對點互聯網連接

咱們重構了Wi-Fi堆棧以改善隱私和性能,還改進了管理物聯網設備和建議互聯網鏈接等常見用例,而無需得到位置許可。經過網絡鏈接API, 能夠更輕鬆地經過本地Wi-Fi管理物聯網設備,實現配置,下載或打印等對等功能。該網絡建議的API 容許應用表面優選Wi-Fi網絡給用戶用於互聯網鏈接。

wifi 性能優化模式

應用程序如今能夠經過啓用高性能和低延遲模式來請求自適應Wi-Fi 。這些對於低延遲對用戶體驗很重要(例如實時遊戲,主動語音呼叫和相似用例)來講是一個很大的好處。該平臺與設備固件配合使用,以最低的功耗知足要求。要使用新的性能模式,請 使用或調用WifiManager.WifiLock.createWifiLock()。在這些模式下,平臺與設備固件配合使用,以最低功耗知足要求。WIFI_MODE_FULL_LOW_LATENCYWIFI_MODE_FULL_HIGH_PERF

Android 基礎

ART 優化

ART運行時的改進能夠幫助您的應用程序更快地啓動,消耗更少的內存,而且運行更順暢 - 無需您的任何工做。Google Play提供的ART配置文件容許ART在應用程序運行以前預編譯部分應用程序。在運行時,Android 10爲ART的併發複製(CC)垃圾收集器添加了Generational Garbage Collection,使垃圾收集在時間和CPU方面更加高效,減小了垃圾收集,並幫助應用程序在低端設備上更好地運行。

此圖表顯示使用「播放」配置文件進行測試時特定應用的啓動時間改善百分比

神經網絡API 支持V1.2

咱們增長了60個新操做,包括ARGMAX,ARGMIN,量化LSTM,以及一系列性能優化。這爲加速更大範圍的模型奠基了基礎 - 例如用於物體檢測和圖像分割的模型。咱們正在與硬件供應商和流行的機器學習框架(如 TensorFlow)合做,以優化和推出對NNAPI 1.2的支持。

溫度監測 API

當設備過熱時,它們可能會限制CPU和/或GPU,這會以意想不到的方式影響應用和遊戲。如今,在Android 10中,應用和遊戲可使用溫度監測API 來監控設備上的更改,並採起措施幫助恢復正常溫度。例如,流式應用能夠下降分辨率/比特率或網絡流量,相機應用能夠禁用閃光或強化圖像加強,或者遊戲能夠下降幀速率或多邊形細分。在這裏閱讀更多。

兼容 公共API 接口

Android 10繼續擴展對非SDK接口的限制,所以應用程序逐漸轉向僅使用公共API。若是您當前使用的接口受到限制,則能夠爲該接口請求新的公共API 。爲了幫助您進行轉換並防止您的應用被破壞,咱們僅在您的應用定位到Android 10(API 29)時啓用限制。有關限制的更多詳細信息,請參閱 開發人員指南。

更新更快,新鮮出爐的Code

Android 10專爲經過Project Treble進行更快速更新而構建,可在Android與設備製造商和芯片製造商的底層設備代碼之間提供一致,可測試的界面。經過Treble,設備製造商能夠更快速,更低成本地將Android 10帶入符合Treble標準的設備。

Android 10也是第一個支持**Project Mainline **(官方稱爲Google Play系統更新)的版本,這是咱們用於保護Android用戶並經過重要代碼更改保持設備新鮮的新技術 - 直接來自Google Play。藉助Google Play系統更新,咱們能夠在運行Android 10及更高版本的全部設備上更新特定的內部組件,而無需設備製造商進行完整的系統更新。

對於開發人員,咱們但願Android 10中的這些更新有助於推進各類設備之間的平臺實施的一致性,而且隨着時間的推移帶來更大的一致性,這將下降您的開發和測試成本。

至此,本篇已結束,若有不對的地方,歡迎您的建議與指正。同時期待您的關注,感謝您的閱讀,謝謝!

微信關注公衆號:  程序員Android,領福利
相關文章
相關標籤/搜索