Android 10 圍繞三個重要主題構建而成。首先,Android 10 以其先進的機器學習和對新興設備(如可折疊設備和支持 5G 的手機)的支持走在移動創新領域的前沿。其次,Android 10 的主要關注點之一就是隱私權和安全性,其中近 50 項功能可為用戶提供更好的保護、更高的透明度以及讓用戶更好地控制相關數據。最后,Android 10 可讓用戶更好地控制數字健康,因此個人和家庭都可以更好地利用此項技術。
創新技術和新體驗
可折疊設備
Android 10 基于強大的多窗口支持構建而成,擴展了跨應用窗口的多任務處理能力,還提供了屏幕連續性,可以在設備折疊或展開時維持應用狀態。Android 10 在 onResume 和 onPause 中添加了多項改進,用于支持多項恢復,并在應用獲得焦點時通知應用。它還更改了 resizeableActivity 清單屬性的工作方式,以幫助您管理應用在可折疊設備和大屏幕設備上的顯示方式。
5G 網絡
5G 有望在穩定提升速度的同時降低延遲,Android 10 新增了針對 5G 的平臺支持,并擴展了現有 API 來幫助您充分利用這些增強功能。您可以使用連接 API 來檢測設備是否具有高帶寬連接,還可以檢查連接是否按流量計費。借助這些功能,您的應用和游戲可以為使用 5G 的用戶量身打造豐富的沉浸式體驗。
通知中的智能回復
Android 10 使用設備上的機器學習在通知中提供上下文操作建議,如智能回復消息或在通知中打開某個地址的地圖。您的應用可以立即充分利用此功能,而您無需執行任何操作。系統提供的智能回復和操作默認直接插入到通知中。您仍可以根據需要自行提供回復或操作。使用 setAllowGeneratedReplies() 和 setAllowSystemGeneratedContextualActions() 即可針對每則通知選擇停用智能回復。
深色主題
Android 10 新增了一個系統級的深色主題,非常適合光線較暗的場景并能幫助節省電量。用戶轉至“設置”進行相應設置或開啟“省電模式”即可激活新的系統級深色主題。這會將系統界面更改為深色,并為支持深色主題的應用啟用深色主題。您可以為應用構建自定義深色主題,也可以選擇使用新的 Force Dark 功能,讓系統根據現有主題動態創建深色版本。您還可以充分利用 AppCompat 的 DayNight 功能,為使用早期版本的 Android 的用戶提供深色主題。
手勢導航
Android 10 引入了全手勢導航模式,該模式不顯示通知欄區域,允許應用使用全屏來提供更豐富、更讓人沉浸的體驗。它通過邊緣滑動(而不是可見的按鈕)保留了用戶熟悉的“返回”、“主屏幕”和“最近”導航。要與手勢導航無縫融合,您應順著邊緣在導航欄后方繪制,以打造沉浸式體驗。要實現這一點,應用應使用 setSystemUiVisibility() API 以全屏模式布局,然后相應地處理 WindowInsets,以確保重要的界面區域未被遮擋。
共享快捷方式
共享快捷方式功能可使共享更加輕松快捷,讓用戶能夠直接跳轉到其他應用來共享內容。開發者可以發布能在應用中啟動特定 Activity 的共享目標,同時附上內容;這些共享目標會在共享界面中向用戶顯示。因為共享目標是提前發布的,所以共享界面會在啟動后立即加載它們。共享快捷方式類似于應用快捷方式,都使用同一個 ShortcutInfo API。ShareTarget AndroidX 庫也支持此 API。
用戶隱私設置
隱私權是 Android 10 的其中一個主要關注點,相關改進包括在平臺中提供更強大的保護措施以及在設計新功能時謹記隱私性。Android 10 基于先前版本構建,并引入了大量變更(如改進了系統界面、讓權限授予更加嚴格以及對應用能夠使用哪些數據實施了限制),目的是保護隱私權并賦予用戶更多控制權。
賦予用戶對位置數據的更多控制權
用戶可以通過新的權限選項更好地控制他們的位置數據;現在,他們可以允許應用僅在實際使用(在前臺運行)時訪問位置信息。對于大部分應用來說,這提供了足夠的訪問級別;而對于用戶來說,這在確保透明度和控制權方面是一項重大改進。
在掃描網絡時保護位置數據
用于掃描網絡的大多數 API 都需要粗略位置權限。Android 10 改為要求精確位置權限,由此來增強對這些 API 的防御。
阻止設備跟蹤
應用無法再訪問不可重置的設備標識符(可用于跟蹤),包括設備 IMEI、序列號和類似標識符。設備的 MAC 地址也會默認在連接到 WLAN 網絡時隨機分配。
保護外部存儲設備中的用戶數據
Android 10 引入了一些變更,目的是讓用戶更好地控制外部存儲設備中的文件以及其中的應用數據。應用可以將自己的文件存儲在專用沙盒中,但必須使用 MediaStore 來訪問共享媒體文件,并使用系統文件選擇器訪問新的“下載內容”集合中的共享文件。
屏蔽意外中斷
Android 10 可阻止應用從后臺啟動,從后臺啟動會使應用意外跳轉到前臺并從其他應用獲得焦點。
安全性
Android 10 引入了多項功能,可通過加密、平臺安全強化和身份驗證方面的改進為用戶提供更高的安全性。
存儲加密
搭載 Android 10 的所有兼容設備都必須加密用戶數據;為了提高加密效率,Android 10 引入了我們的新加密模式 Adiantum。
默認啟用 TLS 1.3
Android 10 還默認啟用 TLS 1.3,它是 TLS 標準的主要修訂版本,具有性能優勢和更高的安全性。
平臺安全強化
Android 10 還引入了針對平臺幾個關鍵安全區域的安全強化功能。
攝像頭和媒體
照片的動態深度
應用現在可以請求動態深度圖片,其中包含與深度相關元素有關的 JPEG、XMP 元數據,以及嵌入在同一文件中的深度和置信度映射。這些功能讓您可以在應用中提供專用模糊和散景選項。動態深度是用于生態系統的一種開源格式。
捕獲播放的音頻
現在,播放音頻的任何應用都允許其他應用使用新的音頻播放捕獲 API 捕獲其音頻流。除了能夠啟用字幕之外,此 API 還可讓您支持常見的使用場景(如直播游戲)。我們在構建這項新功能時考慮了隱私性和版權保護,因此,應用捕獲其他應用音頻的功能會受限,這會讓應用全權控制其音頻流是否可以被捕獲。
新的音頻和視頻編解碼器
Android 10 新增了對開源視頻編解碼器 AV1 的支持,這允許媒體提供商使用更少的帶寬向 Android 設備流式傳輸高品質視頻內容。此外,Android 10 還支持使用 Opus(一種針對語音和音樂流式傳輸進行了優化的開放且免版稅的編解碼器)和 HDR10+(用于支持它的設備上的高動態范圍視頻)對音頻進行編碼。MediaCodecInfo API 引入了一種更簡便的方法來確定某個 Android 設備的視頻渲染功能。對于任何指定的編解碼器,您可以獲取其支持的大小和幀速率列表。
可縮放的定向麥克風
Android 10 可讓您通過新的 MicrophoneDirection API 更好地控制音頻捕獲。您可以使用此 API 指定在錄音時麥克風的首選方向。例如,當用戶在進行視頻“自拍”時,您可以請求前置麥克風(如果有)以進行錄音。此外,此 API 還引入了控制可縮放麥克風的標準化方法,允許您的應用控制錄音字段大小。
Vulkan 無處不在
Android 10 包含用于繪制高性能 3D 圖形的低開銷、跨平臺 API 實現,擴大了 Vulkan 的影響范圍。所有搭載 Android 10 及更高版本的 64 位設備現在都要求使用 Vulkan 1.1,也建議在所有 32 位設備上使用 Vulkan 1.1。我們已經看到整個生態系統大力支持 Vulkan 的強勁勢頭,在搭載 Android N 或更高版本的設備中,53% 的設備都支持 Vulkan 1.0.3 或更高版本。
連接性
WLAN 性能模式
應用現在可以通過啟用高性能和低延遲模式來請求自適應 WLAN。如果低延遲對用戶體驗(如實時游戲、活躍語音通話以及類似使用場景)至關重要,這些模式會極具優勢。平臺與設備固件配合使用,可以滿足最低耗電量的要求。要使用新的性能模式,請調用 WifiManager.WifiLock.createWifiLock()(使用 WIFI_MODE_FULL_LOW_LATENCY
或 WIFI_MODE_FULL_HIGH_PERF
)。在這些模式中,平臺與設備固件配合使用,可以滿足最低耗電量的要求。
Android 基礎
ART 優化
在 ART 運行時方面的改進可幫助您的應用更快地啟動、占用更少的內存并更順暢地運行,而您無需執行任何操作。借助 Google Play 提供的 ART 配置文件,ART 在應用運行之前就可以預先編譯應用組件。在運行時,Android 10 向 ART 的并發復制 (CC) 垃圾回收器添加了分代垃圾回收功能,以節省垃圾回收的時間并提高 CPU 效率,減少卡頓,同時幫助應用在低端設備上更順暢地運行。
Thermal API
當設備過熱時,它們可能會限制 CPU 和/或 GPU,而這可能會以意想不到的方式影響應用和游戲。現在,在 Android 10 中,應用和游戲可以使用 Thermal API 監控設備變化情況,并在設備過熱時采取措施,使設備恢復到正常溫度。例如,影音在線播放應用可以降低分辨率/比特率或減少網絡流量;相機應用可以停用閃光燈或密集型圖像增強;游戲可以降低幀速率或減少多邊形曲面細分。
通過公共 API 實現兼容性
Android 10 繼續增加了對非 SDK 接口的限制,以便應用逐步轉為僅使用公共 API。如果您目前使用的接口受到限制,則可以選擇針對該接口請求新的公共 API。為了幫助您完成過渡并防止應用中斷,我們僅在您的應用以 Android 10 (API 29) 為目標平臺時實施這些限制。