Android 10正式版發佈

在美國時間9月3日,谷歌發佈了Android 10正式版,經過了一年多的開發和早期使用者的數個月的測試,Android

 10正式版終於發佈了。

Android10的亮點

 Android 10主要有三大亮點

  1. Android 10走在移動創新技術的前沿,具有先進的機器學習技術,同時也支持新興設備,例如摺疊屏設備和5G設備。
  2. Android 10主要提升了隱私性和安全性,使用了接近50項技術爲用戶提供更好的保護,透明度和控制。
  3. Android 10擴展了用戶的數字福利(digital wellbeing)控制,那麼用戶和家庭都可以使用技術來找到更好的平衡點。

下面介紹需要開發者關注的Android 10中的技術以及如何使用。

創新和新體驗

藉助Android 10,作爲開發者可以使用最新的硬件和軟件技術來爲用戶構建更好體驗的應用。

Foldables(摺疊屏)

基於強大的多窗口支持,Android 10擴展了跨應用程序窗口的多任務處理,還提供屏幕連續性以便在設備摺疊或展開時保持應用程序狀態。Android 10在Activity的onResume和 onPause上添加了許多改進以支持multi-resume,並在獲取焦點時通知應用。它還會更改resizeableActivity 清單屬性的工作方式,當應用在可摺疊和大屏幕上的顯示時方便管理。現在Android Studio的AVD管理器已經可以創建摺疊屏設備,可以下載iSystem Imagel後來創建並體驗摺疊屏。關於如何在摺疊屏設備上對應用的顯示進行優化可以參考開發人員指南

摺疊屏顯示

5G網絡

5G網絡提供了更快速度和更低的延遲,Android 10增加了對5G網絡的支持,並擴展了現有的API, 以便利用這些增強的功能。例如:可以使用連接API來檢測設備是否具有高帶寬連接和檢查連接是否已是計量的。有了這些功能,應用和遊戲可以針對5G或以上的用戶提供更好的體驗。

通知中的智能回覆

Android 10使用 on-device ML(設備內機器學習系統https://research.googleblog.com/2017/02/on-device-machine-intelligence.html)來建議通知中的上下文操作,例如對消息進行智能回覆或打開通知中地址的地圖。開發者的應用可以不用做任何其他的操作就可以使用這個功能。系統提供的智能回覆和操作會直接在通知中顯示。如果需要的話應用仍然可以提供自己的回覆和操作。只需使用setAllowGeneratedReplies() 和setAllowSystemGeneratedContextualActions()就可以在通知上選擇不顯示智能回覆和系統提供的上下文操作。

通知智能回覆

通知的智能回覆

黑暗主題

Android 10添加了系統級的黑暗主題,這是低亮度環境下的很好的一個選擇,也有助於節省電磁電量。用戶可以在系統的“設置”中或打開“省電模式”來激活系統級的黑暗主題。這將會使系統的UI變黑,如果應用支持黑暗主題也會同時改變爲黑暗主題。開發者可以爲應用創建自定義的黑暗主題,或者選擇使用新的Force Dark功能,讓系統從現有主題中動態創建。現在也可以利用 AppCompat的DayNight來創建黑暗主題以適配早期版本上的Android用戶。有關更多信息可以參考開發者指南

Android 10中的Force Dark動態創建的黑暗主題

手勢導航

Android 10提供了完全的手勢導航模式,不僅移除了導航欄,而且允許應用程序使用全屏幕,提供更豐富和更身臨其境的體驗。它通過邊緣滑動而不是按鈕實現了Back,Home和Recents功能。要與手勢導航無縫結合,應用應該實現edge-to-edge(全屏幕顯示並且在導航欄後面繪製內容(導航欄透明)。要實現這一點的話,應用需要使用setSystemUiVisibility()  API實現全屏佈局,然後根據需要處理WindowInsets(劉海屏),以確保不會遮蓋重要的UI部分。參考手勢導航文檔開始優化應用,可以查看博客文章獲取更多信息。

手勢導航

設置面板

現在可以通過新的設置面板API直接在應用程序中顯示關鍵系統設置。設置面板是一個浮動UI,可以調用該UI來顯示用戶可能需要的設置,例如Internet連接,NFC和音量。例如,瀏覽器可以顯示具有連接設置的面板,如飛行模式,Wi-Fi(包括附近的網絡)和移動數據。要顯示設置面板,只需使用設置面板的任意Action打開Intent即可。

分享快捷方式

分享快捷方式使分享更快捷,更方便,可以讓用戶直接跳轉到另一個應用程序進行內容的共享。開發人員可以發佈分享目標(在內容被添加後會啓動一個特殊的Activity),在共享UI中會向用戶進行顯示這個分享目標。因爲它們是預先發布的,所以共享UI在啓動時會立即加載。共享快捷方式類似於應用程序快捷方式,而且它們使用相同的ShortcutInfo API。ShareTarget AndroidX庫也支持這個API。可以參考示例應用來獲取更詳細的信息。

分享快捷方式

 

用戶隱私

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

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

使用定位權限時提醒框

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

防止設備跟蹤 - 應用程序無法再訪問可用於跟蹤的不可重置設備標識符,包括設備IMEI,序列號和類似的標識符等等。默認情況下,設備的MAC地址在連接到Wi-Fi網絡時也會隨機變化。可以參考這個文檔來選擇正確的標識符,也可以參考這個鏈接查看更詳細信息 。

保護外部存儲中的用戶數據 - Android 10引入了許多更改,使用戶可以更好地控制外部存儲(SD)中的文件及其中的應用程序數據。應用程序可以將自己的文件存儲在其私有沙箱中,但必須使用MediaStore訪問共享媒體文件,並使用系統文件選擇器訪問新的Downloads集合中的共享文件。可以參考這個鏈接瞭解更多信息 。

阻止不必要的中斷 - Android 10中阻止應用程序從後臺啓動,可以防止後臺應用跳轉到前臺或打開頁面。參考這個鏈接瞭解更多信息 。

安全

Android 10引入了許多功能來保證用戶更加安全 ,例如通過加密,平臺強化和身份驗證。可以點擊這個鏈接瞭解更多關於Android 10的安全更新。

存儲加密 - 所有使用Android 10的設備都需要加密用戶數據,Android 10包括了新的加密模式Adiantum,大大提高了加密效率。

默認使用TLS 1.3 - Android 10及更高版本中,默認情況下爲所有TLS連接啓用TLS 1.3,TLS 1.3是TLS標準一個重要版本,具有性能優勢和更強的安全性

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

改進的生物識別技術 - Android 10BiometricPrompt 框架進行了更新。點擊這個鏈接瞭解更多信息。

 

相機和媒體

照片的動態深度

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

  

Dynamic Depth

音頻播放捕獲

現在,任何播放音頻的應用都可以讓其他應用使用新的音頻播放捕獲API捕獲其音頻流 。除了支持字幕和說明文字外,API還支持遊戲錄製和流媒體。我們在構建此新功能時考慮到了隱私和版權保護,因此應用程序捕獲其他應用程序音頻的能力受到限制,使應用程序可以完全控制是否可以捕獲其音頻流。可以參考這個博客文章瞭解更多內容。

新的音視頻編解碼器

Android 10增加了對開源視頻編解碼器 AV1的支持,它讓媒體提供商使用更少的帶寬將高質量的視頻內容傳輸到Android設備。此外,Android 10支持Opus編碼器(一個針對語音和音樂流優化的開放式,免版稅編解碼器)和 HDR10 +( high dynamic range video)。MediaCodecInfo API 引入了一個更簡單的方法來確定Android設備視頻渲染的能力。對於任何給定的編解碼器,您可以獲得支持的大小和幀率列表。

Native MIDI API

對於需要使用C ++執行音頻處理的應用程序,Android 10引入了 Native MIDI API,通過NDK與MIDI設備進行通信。此API允許使用非阻塞的方式讀取在音頻回調內檢索MIDI數據,從而實現MIDI消息的低延遲處理。可以參考這個示例應用程序的源碼

定向,可縮放的麥克風

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

普及Vulkan

Vulkan 是用於繪製高性能 3D 圖形的低開銷、跨平臺 API,Android 10中更好的體現了這一點。運行Android 10及更高版本的所有64位的設備要求Vulkan 1.1,並且建議所有32位設備使用。

 

連接

改進了點對點和互聯網連接

我們重構了Wi-Fi棧以改善隱私和性能,還改進了管理物聯網設備和網絡建議等情況,而無需獲得位置許可。通過網絡連接API, 可以更輕鬆地通過本地Wi-Fi管理物聯網設備,實現配置,下載或打印等點對點功能。而網絡建議的API允許應用顯示給用戶優選的Wi-Fi網絡來連接到互聯網。

Wi-Fi性能模式

應用程序現在可以啓用高性能和低延遲模式來請求自適應Wi-Fi 。這是一個對於需要低延遲的用戶(例如實時互動遊戲,語音通話等類似情況)來說是一個很好的功能。要使用新的性能模式,使用WifiManager.WifiLock.createWifiLock() 方法並結合WIFI_MODE_FULL_HIGH_PERF或WIFI_MODE_FULL_LOW_LATENCY

 

Android底層

ART優化

ART運行時的改進:可以幫助應用程序更快地啓動,消耗更少的內存,並且運行更順暢(無需開發者任何操作)。Google Play提供的ART配置文件允許ART在應用程序運行之前預編譯部分應用程序。在運行時,Android 10爲ART 的併發複製垃圾收集器 (Concurrent Copying Garbage Collector) 中添加了分代收集機制 (Generational Garbage Collection),垃圾回收速度和 CPU 利用效率有了明顯提升,在減少垃圾的同時,讓應用可以在低端設備上更流暢地運行

ART 配置文件對應用的啓動時間改善百分比。

神經網絡API 1.2

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

Thermal API

當設備過熱時,可能會採取限制CPU或GPU的方式來降低溫度,這會影響應用和遊戲的運行性能。在Android 10中,應用和遊戲可以使用thermal API 來監控設備的變化,並採取措施幫助恢復正常溫度。例如,流式應用可以採取降低分辨率/比特率或網絡流量的方式,相機應用可以禁用閃光或強化圖像增強的方式,遊戲可以降低幀速率或多邊形細分的方式。可以在這個鏈接閱讀更多。

使用公共API

Android 10繼續加強對非SDK接口的限制,因此應用盡量僅使用公共API。如果您當前使用的接口受到限制,則可以爲該接口請求新的公共API 。爲了防止應用崩潰,我們僅在應用的targetSdk是Android 10(API 29)時啓用此限制。有關限制的更多詳細信息,請參閱 開發人員指南

有關Android 10的完整開發者資源,可以訪問https://developer.android.com/about/versions/10

發佈了52 篇原創文章 · 獲贊 17 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章