Google I/O的大幕已經拉開,我們也為大家帶來了 Android 14 的第二個 Beta 版。我們在 Google I/O 上為大家準備了許多精彩的演講,包括對 Android 14 許多新功能的詳細介紹。這次發布的 Beta 2 聚焦相機和媒體、隱私和安全、系統界面以及開發者生產力方面的改進。我們還在繼續完善大屏設備上的體驗,并首次在指定合作伙伴的手機、平板電腦和可折疊設備上提供 Android 14 Beta 版測試計劃。
-
Google I/O
https://io.google/2023/
-
Android 精彩演講
https://io.google/2023/program/?q=android,mobile
-
參與 Beta 版測試
https://www.google.com/android/beta
-
Android 14 開發者網站
https://developer.android.google.cn/about/versions/14
-
獲取 Google Pixel 系統映像
https://developer.android.google.cn/about/versions/14/download
-
發布時間表
https://developer.android.google.cn/about/versions/14/overview#timeline
-
提交反饋
https://developer.android.google.cn/about/versions/14/feedback
現已支持更多設備
現在您可以在我們合作伙伴的設備上體驗 Android 14 Beta 版,他們包括 iQOO、聯想、Nothing、一加、OPPO、realme、TECNO、vivo 和小米。
-
合作伙伴的設備
https://developer.android.google.cn/about/versions/14/devices
高質量相機和媒體體驗
Android 設備以高品質的相機而聞名。去年的 Android 13 已經帶來了諸多這方面的提升,比如支持錄制生動的高動態范圍 (HDR,能支持數十億種顏色) 視頻,通過相機擴展來幫助設備廠商們提供諸如夜間模式和散景 (bokeh) 等功能,以及為相機數據流用例提供優化,等等。Android 14 則在這些提升的基礎上更進一步。超強 HDR (Ultra HDR) 圖片
Android 現在支持 10 位高動態范圍 (HDR) 圖像,從而得以更多地保留拍攝照片時傳感器捕捉到的信息,帶來更鮮艷的色彩和更高的對比度。而且 Android 使用的超強 HDR 格式完全向后兼容 JPEG,應用可以無縫使用 HDR 圖像,根據需要使用標準動態范圍來呈現它們。您只需在應用中指定其 Activity 窗口使用 HDR 界面功能,比如通過應用清單設置或在運行時調用 Window.setColorMode,框架便會自動將界面中的這些圖像以 HDR 來呈現。
-
超強 HDR 圖像格式 v0.9.1
https://developer.android.google.cn/guide/topics/media/hdr-image-format
-
以廣色域模式顯示 Activity
https://developer.android.google.cn/guide/topics/manifest/activity-element#colormode
-
Window.setColorMode
https://developer.android.google.cn/reference/android/view/Window#setColorMode%28int%29
-
JPEG_R 格式
https://developer.android.google.cn/reference/android/graphics/ImageFormat#JPEG_R
-
Gainmap
https://developer.android.google.cn/reference/android/graphics/Gainmap
升級相機擴展的縮放、對焦、后視等功能
Android 14 升級和改進了相機擴展功能,讓應用支持更長的處理時間,通過計算密集型算法改善成像品質,比如在支持的設備上使用微光拍攝。-
相機擴展
https://developer.android.google.cn/training/camera/camera-extensions
通過這些改進,用戶在使用相機擴展功能時會獲得更強大的體驗,包括:
- 靜態拍照處理延遲動態預估能基于當前場景和環境條件更準確地預估靜態拍照的延遲。調用 CameraExtensionSession.getRealtimeStillCaptureLatency() 來獲得 StillCaptureLatency 對象,該對象有兩個延遲估計方法: getCaptureLatency() 方法會返回從 onCaptureStarted() 到 onCaptureProcessStarted() 之間的延遲預估,而 getProcessingLatency() 方法則返回從 onCaptureProcessStarted() 到生成最終處理幀之間的延遲預估。
-
CameraExtensionSession.getRealtimeStillCaptureLatency()
https://developer.android.google.cn/reference/android/hardware/camera2/CameraExtensionSession#getRealtimeStillCaptureLatency%28%29
-
StillCaptureLatency
https://developer.android.google.cn/reference/android/hardware/camera2/CameraExtensionSession.StillCaptureLatency
-
getCaptureLatency()
https://developer.android.google.cn/reference/android/hardware/camera2/CameraExtensionSession.StillCaptureLatency#getCaptureLatency%28%29
- 支持拍攝進度回調,這樣應用可以顯示長時間靜態拍照處理的進度。您可以使用 CameraExtensionCharacteristics.isCaptureProcessProgressAvailable() 來查看此功能是否可用,如果可用的話,實現 onCaptureProcessProgressed() 回調后即可以參數傳遞的方式獲得進度值 (0 到 100)。
-
CameraExtensionCharacteristics.isCaptureProcessProgressAvailable()
https://developer.android.google.cn/reference/android/hardware/camera2/CameraExtensionCharacteristics#isCaptureProcessProgressAvailable%28int%29
-
onCaptureProcessProgressed()
https://developer.android.google.cn/reference/android/hardware/camera2/CameraExtensionSession.ExtensionCaptureCallback#onCaptureProcessProgressed%28android.hardware.camera2.CameraExtensionSession,%20android.hardware.camera2.CaptureRequest,%20int%29
- 支持擴展功能特定的元數據,如 CaptureRequest.EXTENSION_STRENGTH,用于調整擴展效果的取值,如使用 EXTENSION_BOKEH 時的背景模糊程度。
-
CaptureRequest.EXTENSION_STRENGTH
https://developer.android.google.cn/reference/android/hardware/camera2/CaptureRequest#EXTENSION_STRENGTH
-
EXTENSION_BOKEH
https://developer.android.google.cn/reference/android/hardware/camera2/CameraExtensionCharacteristics#EXTENSION_BOKEH
- 支持相機擴展靜態拍照的后視 (Postview) 功能,相比最終成像,該功能可以更快地提供一張少量處理過的圖像。如果一個擴展的處理帶來更多的延遲,可以先提供一張后視圖像來占位,以改善用戶體驗,并在稍后替換成最終圖像。您可以先用 CameraExtensionCharacteristics.isPostviewAvailable() 來查看這個功能是否可用,然后將一個 OutputConfiguration 傳給 ExtensionSessionConfiguration.setPostviewOutputConfiguration()。
-
CameraExtensionCharacteristics.isPostviewAvailable()
https://developer.android.google.cn/reference/android/hardware/camera2/CameraExtensionCharacteristics#isPostviewAvailable%28int%29
-
OutputConfiguration
https://developer.android.google.cn/reference/android/hardware/camera2/params/OutputConfiguration
-
ExtensionSessionConfiguration.setPostviewOutputConfiguration()
https://developer.android.google.cn/reference/android/hardware/camera2/params/ExtensionSessionConfiguration#setPostviewOutputConfiguration%28android.hardware.camera2.params.OutputConfiguration%29
- 支持 SurfaceView,帶來更優化、更節能的預覽渲染路徑:https://developer.android.google.cn/reference/android/view/SurfaceView
- 在使用擴展功能時支持點擊對焦和縮放。
傳感器內縮放
如果 CameraCharacteristics 的 REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE 包含SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW,則您的應用可以通過調用 CaptureRequest 并指定一個 RAW 目標對象,其數據流用例設為 CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW,來使用高級傳感器功能為裁切過的 RAW 數據流提供和全視角相同的像素數。實現控件覆蓋請求后,更新后的相機甚至能在其他相機控件就緒之前就為用戶提供縮放控制功能。
-
CameraCharacteristics
https://developer.android.google.cn/reference/android/hardware/camera2/CameraCharacteristics
-
REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASEhttps://developer.android.google.cn/reference/android/hardware/camera2/CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE
-
SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
https://developer.android.google.cn/reference/android/hardware/camera2/CameraMetadata#SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW -
CaptureRequest
https://developer.android.google.cn/reference/android/hardware/camera2/CaptureRequest
- CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAWhttps://developer.android.google.cn/reference/android/hardware/camera2/CameraMetadata#SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
Android 14 現在支持無損音頻格式,讓您可以通過 USB 有線耳機獲得發燒友級別的體驗。您可以查詢 USB 設備的首選混音器屬性,為該屬性的變化注冊一個監聽器,然后使用新的 AudioMixerAttributes 類來配置混音器屬性。這個類提供了格式的詳細信息,比如通道掩碼、采樣率和混音器行為,而且支持音頻直傳,即不提供混音、音量調節和后期效果。我們正在和 OEM 合作伙伴們一起努力,在今年晚些時候將這個功能實裝到設備上。
-
AudioMixerAttributes
https://developer.android.google.cn/reference/android/media/AudioMixerAttributes
-
音頻直傳
https://developer.android.google.cn/reference/android/media/AudioMixerAttributes#MIXER_BEHAVIOR_BIT_PERFECT
更多圖像功能
Android 14 增加了先進的圖形功能,可在 Canvas 層級活用復雜的 GPU 功能。
帶有頂點和片段著色器的自定義網格
長期以來,Android 都支持繪制帶有自定義著色的三角形網格,但支持的網格格式一直存在限制,僅限于一些預定義的屬性組合。Android 14 增加了對自定義網格的支持,這些網格可以被定義為三角形或三角形帶,如果您需要的話還能支持索引。這些網格是用 AGSL 編寫的,包含自定義屬性、頂點跨度、varying 變量和頂點/片段著色器。頂點著色器定義了 varying,如位置和顏色,片段著色器則可以選擇性地定義像素的顏色,通常是使用頂點著色器創建的 varying 變量。如果顏色是由片段著色器提供的,那么在繪制網格時會使用選擇好的混合模式與當前的 Paint 顏色進行混合。如果您需要更多的靈活性,可以將 uniform 變量傳遞給片段和頂點著色器。
-
自定義網格
https://developer.android.google.cn/reference/kotlin/android/graphics/Mesh
-
三角形
https://developer.android.google.cn/reference/kotlin/android/graphics/Mesh?#TRIANGLES:kotlin.Int
-
三角形帶
https://developer.android.google.cn/reference/kotlin/android/graphics/Mesh?#triangle_strip
-
AGSL
https://developer.android.google.cn/develop/ui/views/graphics/agsl
-
網格定義
https://developer.android.google.cn/reference/kotlin/android/graphics/MeshSpecification
-
自定義屬性
https://developer.android.google.cn/reference/kotlin/android/graphics/MeshSpecification.Attribute
-
Varying
https://developer.android.google.cn/reference/kotlin/android/graphics/MeshSpecification.Varying
- 繪制網格https://developer.android.google.cn/reference/android/graphics/Canvas.html#drawMesh%28android.graphics.Mesh,%20android.graphics.BlendMode,%20android.graphics.Paint%29
-
混合模式
https://developer.android.google.cn/reference/kotlin/android/graphics/BlendMode
-
Paint
https://developer.android.google.cn/reference/android/graphics/Paint
-
Uniform
https://developer.android.google.cn/reference/android/graphics/Mesh#setFloatUniform%28java.lang.String,%20float[]%29
Canvas 硬件緩沖渲染器
Android 14 引入了 HardwareBufferRenderer,讓 Android 的 Canvas API 在 HardwareBuffer 中繪制時得以使用硬件加速功能。當您的用例涉及到通過 SurfaceControl 與系統合成器通信以實現低延遲繪制時,此功能會特別有用。
-
HardwareBufferRenderer
https://developer.android.google.cn/reference/android/graphics/HardwareBufferRenderer
-
Canvas
https://developer.android.google.cn/reference/android/graphics/Canvas
-
HardwareBuffer
https://developer.android.google.cn/reference/android/hardware/HardwareBuffer
-
SurfaceControl
https://developer.android.google.cn/reference/android/view/SurfaceControl
隱私
Android 14 繼續關注隱私保護,并推出全新功能讓用戶對自己的數據及其共享操作有更多的控制權和可見性。Health Connect
Health Connect 是存放用戶健康和健身數據的設備端內容庫。用戶可以通過這個庫在他們喜愛的應用之間共享數據,而且提供了統一的入口來管理數據的分享范圍。
Health Connect 目前在 Google Play 商店作為一個應用提供下載。從 Android 14 開始,Health Connect 成為了平臺的一部分,可以通過 Google Play 系統更新進行升級,不再需要單獨下載。如此一來,Health Connect 可以經常獲得更新,您的應用也可以在 Android 14 及以上的設備上放心使用 Health Connect。用戶可以通過設備的系統設置訪問 Health Connect,其隱私控制集成在系統設置中。
Health Connect 現在支持運動路線,用戶可以分享他們的運動路線,并在地圖上查看。路線被定義為在一個時間窗口內記錄的位置列表,您的應用可以將路線插入到健身計劃中,將二者聯系在一起。為了確保用戶完全控制這些敏感數據,在與其他應用分享路線時需要用戶按路線分別授權。
這次的發布可不止這些!請大家參閱觀 "Android Health 最新進展" 博文了解 Health Connect 的詳細信息:
https://android-developers.googleblog.com/2023/05/whats-new-in-android-health.html數據分享更新
我們在位置信息的運行時授權對話框中新增了一塊描述,來突出顯示應用與第三方共享位置數據的情況。用戶可以了解更多信息并控制應用對數據的訪問。這些描述信息來自 Google Play 管理中心的數據安全表單。其他應用商店也將能夠提供一個機制來呈現這些信息。我們鼓勵開發者審查應用的位置數據共享政策,并對應用的數據安全信息進行更新以確保其符合實際情況。此變更將很快發布。
-
Google Play 管理中心
https://developer.android.google.cn/distribute/console
-
數據安全表單
https://support.google.com/googleplay/android-developer/answer/10787469
此外,如果有位置權限的應用改變了其數據共享方案,開始與第三方共享這些數據,用戶將定期得到通知。
新的位置數據共享變更頁面將被添加進系統設置頁面。
安全的全屏 Intent 通知
從 Android 11 (API 級別 30) 開始,任何應用都可以使用 Notification.Builder#sendFullScreenIntent 來在手機鎖定時發送全屏 Intent。您可以通過在 Android 應用清單中聲明 USE_FULL_SCREEN_INTENT 來在應用安裝時自動獲得該權限。
-
Notification.Builder#sendFullScreenIntent
https://developer.android.google.cn/reference/android/app/Notification.Builder#setFullScreenIntent%28android.app.PendingIntent,%20boolean%29
-
USE_FULL_SCREEN_INTENT
https://developer.android.google.cn/reference/android/Manifest.permission#USE_FULL_SCREEN_INTENT
全屏 Intent 通知是針對需要用戶立即關注的極高優先級的通知而設計的,如來電或用戶設置的鬧鐘等。從 Android 14 開始,我們將只允許提供通話和鬧鐘功能的應用在安裝時獲取該權限。
在用戶更新到 Android 14 之前便已安裝的應用,該權限會繼續有效。用戶可以自行開啟或關閉這一權限。
您可以使用新的 NotificationManager.canUseScreenIntent API 來檢查自己的應用是否有被授予這個權限。如果沒有,則可以使用新的 ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT Intent 來啟動設置頁面以讓用戶授權。
-
NotificationManager.canUseScreenIntent
https://developer.android.google.cn/reference/android/app/NotificationManager#canUseFullScreenIntent%28%29
-
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
https://developer.android.google.cn/reference/android/provider/Settings#ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
系統界面
預測性返回 (Predictive Back)
△ Material 組件搜索動畫
隨著 Android 14 Beta 2 的發布,我們帶來了多項改進和新的規范,以幫助大家在應用的 Activity 之間導航時呈現更流暢的動畫:- 您可以設置 android:enableOnBackInvokedCallback=true 來為每個 Activity (而不是整個應用) 來單獨啟用預測性返回系統動畫。
- 我們為底部表單、側面表單和搜索添加了新的 Material 組件動畫。
- 我們為自定義應用內動畫和轉場準備了設計指南。
-
我們提供了新 API 來支持自定義應用內轉場動畫:
- OnBackPressedCallback 的 handleOnBackStarted, handleOnBackProgressed, handleOnBackCancelled
- OnBackAnimationCallback 的 onBackStarted、onBackProgressed、onBackCancelled
- 用 overrideActivityTransition 來替代 overridePendingTransition,用于處理用戶滑動返回時的過場效果
-
android:enableOnBackInvokedCallback=true
https://developer.android.google.cn/reference/android/R.attr.html#enableOnBackInvokedCallback
-
底部表單
https://m3.material.io/components/bottom-sheets/guidelines#3d7735e2-73ea-4f3e-bd42-e70161fc1085
-
側面表單
https://m3.material.io/components/side-sheets/guidelines#d77245e3-1013-48f8-a9d7-76f484e1be13
-
搜索
https://m3.material.io/components/search/guidelines#3f2d4e47-2cf5-4c33-b6e1-5368ceaade55
-
預測性返回動畫設計指南
http://developer.android.google.cn/design/ui/mobile/guides/patterns/predictive-back
-
OnBackPressedCallback
https://developer.android.google.cn/reference/androidx/activity/OnBackPressedCallback#OnBackPressedCallback%28kotlin.Boolean%29
-
handleOnBackStarted
https://developer.android.google.cn/reference/androidx/activity/OnBackPressedCallback#handleOnBackStarted%28android.window.BackEvent%29
-
handleOnBackProgressed
https://developer.android.google.cn/reference/androidx/activity/OnBackPressedCallback#handleOnBackProgressed%28android.window.BackEvent%29
-
handleOnBackCancelled
https://developer.android.google.cn/reference/androidx/activity/OnBackPressedCallback#handleOnBackCancelled%28%29
-
OnBackAnimationCallback
https://developer.android.google.cn/reference/kotlin/android/window/OnBackAnimationCallback
-
onBackStarted
https://developer.android.google.cn/reference/kotlin/android/window/OnBackAnimationCallback#onbackstarted
-
onBackProgressed
https://developer.android.google.cn/reference/kotlin/android/window/OnBackAnimationCallback#onbackprogressed
-
onBackCancelled
https://developer.android.google.cn/reference/kotlin/android/window/OnBackAnimationCallback#onbackcancelled
-
overrideActivityTransition
https://developer.android.google.cn/reference/android/app/Activity#overrideActivityTransition%28int,%20int,%20int,%20int%29
-
overridePendingTransition
https://developer.android.google.cn/reference/android/app/Activity#overridePendingTransition%28int,%20int%29
在 Android 14 Beta 2 中,所有預測性返回動畫功能依然在開發者選項里。請參閱開發者指南了解如何讓應用支持預測性返回,以及如何創建自定義應用內轉場動畫。
-
添加對預測性返回手勢的支持
https://developer.android.google.cn/guide/navigation/predictive-back-gesture
應用兼容性
隨著 Beta 2 的發布,我們距離 2023 年 6 月的平臺穩定性里程碑只有一步之遙,屆時我們將得到最終版本的 Android 14 SDK 和 NDK API,面向應用的系統行為也將最終確定。現在 Android 14 Beta 版已經可以在更多的設備上運行,您將在接下來的幾周看到更多用戶在 Android 14 上體驗您的應用,并提交他們發現的問題。 要進行兼容性測試,請在運行 Android 14 Beta 版的設備或模擬器上安裝您的正式版應用,并測試應用的所有流程。請通過行為變更清單來確定測試重點。在解決所有發現的問題后,請盡快發布應用的更新。
-
行為變更(針對所有應用)
https://developer.android.google.cn/about/versions/14/behavior-changes-all
現在也可以開始準備將應用的目標平臺升級至 Android 14 了,只需使用開發者選項中的應用兼容性開關進行測試即可。
△ 開發者選項中的應用兼容性開關
即刻體驗 Android 14
不論您是想體驗 Android 14 的功能、測試應用還是提交反饋,都可以從這次的 Beta 2 開始。您還可以使用我們合作伙伴的設備來測試應用在平板電腦和可折疊設備上的表現,不過最簡單的方法還是使用 Android Studio SDK 管理器最新預覽版中安裝了 64 位系統映像的 Android 模擬器中的 Pixel Tablet 或 Pixel Fold 配置進行測試。您還可以直接使用支持的 Pixel 設備參與測試,并通過 OTA 方式獲得本次以及將來的 Android 14 Beta 版 (包括功能更新)。
-
反饋與需求
https://developer.android.google.cn/about/versions/14/feedback
-
安裝 SDK
https://developer.android.google.cn/about/versions/14/setup-sdk#install-sdk
-
參與 Beta 版測試
https://www.google.com/android/beta
為了獲得最佳的 Android 14 開發體驗,我們建議您使用 Android Studio Hedgehog 的最新版本。
-
Android Studio Hedgehog
https://developer.android.google.cn/studio/preview
- 體驗新功能和 API - 在我們打磨及確定 API 的過程中,您的反饋至關重要。您可以在我們的跟蹤頁報告問題。
- 測試應用的兼容性 - 測試您的應用是否受到 Android 14 默認行為變更的影響。請將應用安裝到運行 Android 14 的設備或模擬器上進行徹底的測試。
- 使用可選變更項測試應用 - Android 14 提供了可選的行為變更,這些變更僅在您的應用以新平臺為目標時才會造成影響。盡早了解和評估這些變更十分重要。為了便于測試,您可以單獨啟用或者禁用這些變更。
-
設置 Android 14 SDK
https://developer.android.google.cn/about/versions/14/setup-sdk
-
兼容性框架變更 (Android 14)
https://developer.android.google.cn/about/versions/14/reference/compat-framework-changes
https://developer.android.google.cn/about/versions/14
?
谷歌開發者
在微信和微博平臺搜索 "谷歌開發者"
關注官方賬號
?點擊屏末|閱讀原文|進一步了解 Android 14 詳細更新
原文標題:在 I/O 看未來 | 豐富多彩,Android 14 Beta 2 發布
文章出處:【微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。
-
谷歌
+關注
關注
27文章
6142瀏覽量
105100
原文標題:在 I/O 看未來 | 豐富多彩,Android 14 Beta 2 發布
文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論