Android 10 圍繞著三大主題。首先,Android 10 採用先進的機器學習技術,並支援摺疊式裝置和 5G 手機等新興裝置,引領行動創新潮流。接下來,Android 10 的核心重點是隱私權和安全性,提供近 50 項功能,為使用者提供更完善的保護、透明度和控制權。最後,Android 10 擴充了使用者的數位健康控制項,讓個人和家庭能更妥善地平衡科技與生活。
以下介紹 Android 10 為開發人員提供的功能,以及如何立即使用。
創新與新體驗
Android 10 讓您能運用最新的軟硬體創新技術,為使用者打造出色的應用程式體驗。
在 Android 10 中,您可以針對摺疊式裝置和其他大螢幕裝置最佳化應用程式。
摺疊式裝置
Android 10 以強大的多視窗模式支援為基礎,將多工處理功能擴展至應用程式視窗,並提供螢幕連續性,在裝置摺疊或展開時維持應用程式狀態。Android 10 在 onResume 和 onPause 中加入多項改善功能,可支援多視窗運作模式,並在應用程式取得焦點時通知應用程式。此外,這項功能也會變更 resizeableActivity 資訊清單屬性的運作方式,協助您管理應用程式在摺疊式裝置和大螢幕上的顯示方式。為協助您建構摺疊式裝置,您可以在 Android Studio 中將摺疊式模擬器設為虛擬裝置 (AVD)。如要進一步瞭解如何針對折疊式裝置最佳化應用程式,請參閱開發人員指南。
5G 網路
5G 承諾提供更快的速度和更低的延遲,Android 10 新增了對 5G 的平台支援,並擴充了現有 API,協助您充分利用這些增強功能。您可以使用連線能力 API 偵測裝置是否具有高頻寬連線,並檢查連線是否計量付費。有了這些功能,您的應用程式和遊戲就能透過 5G 為使用者量身打造豐富、身歷其境的體驗。
通知中的智慧回覆
Android 10 使用裝置端機器學習技術,在通知中建議關聯動作,例如訊息的智慧回覆,或開啟通知中地址的地圖。您的應用程式可以立即利用這項功能,您不需要採取任何行動。根據預設,系統提供的智慧回覆和動作會直接插入通知中。您仍可視需要提供自己的回覆和動作。只要使用 setAllowGeneratedReplies() 和 setAllowSystemGeneratedContextualActions(),即可針對個別通知停用智慧回覆功能。
智慧回覆功能可根據通知內容建議動作。
深色主題
Android 10 新增了系統層級的深色主題,非常適合在低光源環境下使用,也有助於節省電池電力。使用者可以前往「設定」或開啟「省電模式」,啟用新的全系統深色主題。這會將系統 UI 變更為深色,並啟用支援深色主題的應用程式。您可以為應用程式建立自訂深色主題,或選擇加入新的「強制使用深色主題」功能,讓系統根據現有主題動態建立深色版本。您也可以利用 AppCompat 的 DayNight 功能,為舊版 Android 使用者提供深色主題。詳情請參閱開發人員指南。
Android 10 可透過「強制使用深色主題」功能,為應用程式動態建立深色主題。
手勢操作
手勢操作導覽可讓應用程式以全螢幕顯示內容。
Android 10 推出全手勢操作模式,可移除導覽列區域,讓應用程式使用全螢幕提供更豐富、更身歷其境的體驗。這種模式保留了熟悉的「返回」、「主畫面」和「最近使用的應用程式」操作,但改用邊緣滑動手勢,而非顯示按鈕。如要與手勢操作完美融合,請採用無邊框設計,在導覽列後方繪製,打造沉浸式體驗。如要實作這項功能,應用程式應使用 setSystemUiVisibility() API 以全螢幕模式顯示,然後視情況處理 WindowInsets,確保重要的 UI 部分不會遭到遮蔽。立即著手最佳化應用程式,並參閱系列網誌文章瞭解詳情。
設定面板
現在,您可以透過新的設定面板 API,直接在應用程式中顯示重要系統設定。設定面板是浮動 UI,可叫用來顯示使用者可能需要的設定,例如網際網路連線、NFC 和音量。舉例來說,瀏覽器可以顯示含有連線設定的面板,例如飛航模式、Wi-Fi (包括附近網路) 和行動數據。如要顯示設定面板,只要使用其中一個新的 Settings.Panel 動作觸發意圖即可。
分享捷徑
分享捷徑可讓分享更快速、更輕鬆,使用者可直接跳到其他應用程式分享內容。開發人員可以發布分享目標,在應用程式中啟動特定活動並附加內容,這些內容會顯示在分享 UI 中。由於這些內容會預先發布,因此分享 UI 啟動時會立即載入。分享捷徑與應用程式捷徑類似,並使用相同的 ShortcutInfo API。ShareTarget AndroidX 程式庫也支援這個 API。詳情請參閱範例應用程式。
共用捷徑可讓使用者直接跳到應用程式中的特定活動,並附加內容。
使用者隱私權
Android 10 的核心重點是隱私權,從平台更強大的保護措施,到以隱私權為考量設計的新功能,都體現了這一點。Android 10 以先前版本為基礎,進行了廣泛的變更,以保護隱私權並賦予使用者更多控制權,包括改善系統 UI、更嚴格的權限,以及限制應用程式可使用的資料。如要瞭解如何在應用程式中支援這些功能,請參閱隱私權異動。
使用者現在可以選擇在應用程式位於前景時授予位置存取權。
讓使用者進一步控管位置資料:使用者可以透過新的權限選項進一步控管位置資料,現在可以允許應用程式只在實際使用時 (在前景執行) 存取位置資訊。對大多數應用程式來說,這可提供足夠的存取層級,而對使用者來說,這可大幅提升資訊透明度和控制權。如要進一步瞭解位置異動,請參閱開發人員指南或網誌文章。
保護網路掃描中的位置資料:大多數用於掃描網路的 API 都需要大概位置存取權。Android 10 改為要求精確位置存取權,加強保護這些 API。
防止裝置追蹤:應用程式無法再存取可用於追蹤的不可重設裝置 ID,包括裝置 IMEI、序號和類似 ID。根據預設,裝置連上 Wi-Fi 網路時,MAC 位址也會隨機產生。請參閱最佳做法,瞭解如何根據用途選擇合適的 ID,並參閱這篇文章瞭解詳情。
保護外部儲存空間中的使用者資料:Android 10 推出多項變更,讓使用者進一步控管外部儲存空間中的檔案和應用程式資料。應用程式可以將自己的檔案儲存在私人沙箱中,但必須使用 MediaStore 存取共用媒體檔案,並使用系統檔案選擇器存取新下載集合中的共用檔案。請按這裡瞭解詳情。
封鎖不必要的干擾: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 也會在必要時改善裝置憑證的備用機制。請按這裡瞭解詳情。
相機與媒體
相片動態景深
應用程式現在可以要求動態景深圖片,其中包含 JPEG、與深度相關元素相關的 XMP 中繼資料,以及嵌入在同一檔案中的深度和信賴度圖。您可以在應用程式中提供專門的模糊和散景選項。動態景深是生態系統的開放格式,我們正與合作夥伴合作,將其導入搭載 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 導入低負載的跨平台 API,可用於製作高品質 3D 圖像,進一步擴大 Vulkan 的影響力。現在,凡是搭載 Android 10 以上版本的 64 位元裝置,都必須支援 Vulkan 1.1,而所有 32 位元裝置也建議支援。我們已經看到 Vulkan 在生態系統中獲得廣泛支援,在搭載 Android N 以上版本的裝置中,有 53% 支援 Vulkan 1.0.3 以上版本。隨著 Android 10 推出新規定,我們預期明年採用率會進一步提升。
連線能力
改善點對點和網際網路連線
我們重構了 Wi-Fi 堆疊,以提升隱私權和效能,並改善常見用途,例如管理 IoT 裝置和建議網際網路連線,而不需要位置存取權。網路連線 API 可讓您更輕鬆地透過本機 Wi-Fi 管理 IoT 裝置,以便執行設定、下載或列印等點對點功能。網路建議 API 可讓應用程式向使用者顯示偏好的 Wi-Fi 網路,以便連上網際網路。
Wi-Fi 效能模式
應用程式現在可以啟用高效能和低延遲模式,要求自動調整 Wi-Fi。如果低延遲對使用者體驗至關重要,例如即時遊戲、進行中的語音通話和類似用途,這些功能就非常實用。平台會與裝置韌體搭配運作,以最低耗電量滿足這項需求。如要使用新的效能模式,請使用 WIFI_MODE_FULL_LOW_LATENCY 或 WIFI_MODE_FULL_HIGH_PERF 呼叫 WifiManager.WifiLock.createWifiLock()。在這些模式中,平台會與裝置韌體搭配運作,以最低耗電量滿足需求。
Android 基礎
ART 最佳化
ART 執行階段經過改良,可讓應用程式啟動速度更快、耗用更少記憶體,且執行更流暢,您不必採取任何行動。Google Play 提供的 ART 設定檔可讓 ART 在應用程式執行前預先編譯部分內容。在執行階段,Android 10 會將世代垃圾收集新增至 ART 的並行複製 (CC) 垃圾收集器,提高垃圾收集的時間和 CPU 效率、減少卡頓,並協助應用程式在低階裝置上更順暢地執行。
這張圖表顯示使用 Play 設定檔測試時,特定應用程式啟動時間的改善百分比。
Neural Networks 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。為協助您順利轉換,並防止應用程式中斷,我們只會在應用程式指定 Android 10 (API 29) 時啟用限制。如要進一步瞭解限制,請參閱開發人員指南。
更新速度更快,程式碼更符合現況
Android 10 專為透過 Treble 計畫加快更新速度而設計,可在 Android 與裝置製造商和晶片製造商提供的基礎裝置程式碼之間,提供一致且可測試的介面。透過 Treble,裝置製造商可以更快速、更低成本地將 Android 10 導入符合 Treble 規範的裝置。
Android 10 也是第一個支援 Mainline 計畫 (正式名稱為 Google Play 系統更新) 的版本,這項新技術可保護 Android 使用者,並透過直接來自 Google Play 的重要程式碼變更,讓裝置保持最新狀態。透過 Google Play 系統更新,我們能更新所有搭載 Android 10 以上版本裝置的特定內部元件,不必等待裝置製造商推出完整的系統更新。
對開發人員來說,我們預期 Android 10 的這些更新有助於提升各裝置平台實作的一致性,並隨著時間推移帶來更高的一致性,進而降低開發和測試成本。
開始使用
如需 Android 10 的完整開發人員資源,請造訪 developer.android.com/10。
