作者 /產品經理 Amanda Alexander
Android Jetpack
https://developer.android.google.cn/jetpack
現代 Android 開發
https://developer.android.google.cn/modern-android-development
Google Play 上的大多數應用都使用 Jetpack 作為其應用架構的關鍵組件。事實上,在排行前 1,000 的應用中,超過 90% 的應用都使用了 Android Jetpack。
架構庫及相關指南
應用性能 界面庫及相關指南
架構庫及相關指南
應用架構庫和組件可確保應用的穩健性、可測試性及可維護性。
借助 WorkManager 庫,您可以輕松調度必須可靠運行的可延期異步任務,例如上傳備份或分析。通過這些 API,您可以創建任務并提交給 WorkManager,以便在滿足工作約束條件時運行。
WorkManager
https://developer.android.google.cn/jetpack/androidx/releases/work
更新后的 WorkManager2.8.0-alpha04 能以非干擾的方式更新 WorkRequest,從而保持其原始排隊時間、工作鏈等。借助 WorkManager,開發者可以更輕松地更改工作器的約束條件。例如,當我們需要將約束條件從一個應用版本更改為另一個版本或通過服務器端設置的配置進行更改時。在過去,只有通過取消已調度的工作器再重新調度才能更改約束條件。但是這種方法會造成嚴重混亂: 處于運行狀態的工作器可能需要停止運行;按一定周期運行的工作器的節奏可能會被打亂;并且當其中一個工作器需要進行更新時,整個工作器鏈都需要重新構建。而現在,使用 update 方法或 ExistingPeriodicWorkPolicy.UPDATE,開發者便無需擔心這些問題。
WorkManager 2.8.0-alpha04
https://developer.android.google.cn/jetpack/androidx/releases/work#2.8.0-alpha04
更新 WorkRequest
https://developer.android.google.cn/reference/androidx/work/WorkManager#updateWork(androidx.work.WorkRequest)
Room
https://developer.android.google.cn/jetpack/androidx/releases/room
Activity
https://developer.android.google.cn/jetpack/androidx/releases/activity#version_160_3
通過直接使用 ComponentActivity,或 FragmentActivity 或 AppCompatActivity 的任一子類,您可以使用單個 API 來通過照片選擇器選擇圖像,但前提是它可以自動回退到存儲訪問框架以支持向后兼容 Android 4.4 (API 19)。
照片選擇器
https://developer.android.google.cn/training/data-storage/shared/photopicker
預測性返回手勢
https://developer.android.google.cn/guide/navigation/predictive-back-gesture
自定義返回導航
https://developer.android.google.cn/guide/navigation/navigation-custom-back
使用 Paging 測試庫測試分頁
Paging
https://developer.android.google.cn/topic/libraries/architecture/paging/v3-overview
Paging 3.2.0-alpha03
https://developer.android.google.cn/jetpack/androidx/releases/paging#3.2.0-alpha03
新的架構文檔
新的架構建議頁面
https://developer.android.google.cn/topic/architecture/recommendations
我們團隊最近發布了新的模塊化指南。該指南分為兩個部分:
概覽頁面對相關問題作出高層次的理論性概述。 常見模塊化模式頁面深入介紹現代 Android 架構背景下的實用示例。
概覽頁面
https://developer.android.google.cn/topic/modularization
常見模塊化模式頁面
https://developer.android.google.cn/topic/modularization/patterns
狀態容器和界面狀態頁面說明您可以在界面層中找到的不同類型的狀態容器,以及根據要執行的邏輯類型判斷應使用哪種實現。
狀態生成頁面展示有關如何根據狀態變更的來源對界面狀態進行建模并公開的最佳實踐。
界面層文檔
https://developer.android.google.cn/topic/architecture/ui-layer
狀態容器和界面狀態頁面
https://developer.android.google.cn/topic/architecture/ui-layer/stateholders
狀態生成頁面
https://developer.android.google.cn/topic/architecture/ui-layer/state-production
界面事件頁面
https://developer.android.google.cn/topic/architecture/ui-layer/events
Navigation 界面事件
https://developer.android.google.cn/topic/architecture/ui-layer/events#navigation-events
全新 Navigation 指南
https://developer.android.google.cn/guide/navigation/navigation-type-safety
構建離線優先應用指南
https://developer.android.google.cn/topic/architecture/data-layer/offline-first
利用 ViewModel,您可以將狀態容器模式納入界面層中。我們最近更新了相關文檔,其中包含以下內容:
關于 ViewModel 工作原理及適用范圍的概覽。 如何在不使用適用于使用 Hilt 注入 ViewModel 對象的預構建支持的情況下利用依賴項創建 ViewModel。
關于 ViewModel 的適用范圍及啟用該支持的 API 的詳情。
ViewModel 如何通過 ViewModel 的已保存狀態模塊在進程終止和恢復的過程中保存狀態。
ViewModel
https://developer.android.google.cn/topic/libraries/architecture/viewmodel
狀態容器模式
https://developer.android.google.cn/topic/architecture/ui-layer/stateholders
概覽
https://developer.android.google.cn/topic/libraries/architecture/viewmodel
使用 Hilt 注入 ViewModel 對象
https://developer.android.google.cn/training/dependency-injection/hilt-jetpack#viewmodels
利用依賴項創建 ViewModel
https://developer.android.google.cn/topic/libraries/architecture/viewmodel/viewmodel-factories
ViewModel 的適用范圍
https://developer.android.google.cn/topic/libraries/architecture/viewmodel/viewmodel-apis
ViewModel 的已保存狀態模塊
https://developer.android.google.cn/topic/libraries/architecture/viewmodel/viewmodel-savedstate
應用性能
通過使用性能庫,您可以構建高性能的應用,并有針對性的優化以保持其性能表現,從而提供更好的最終用戶體驗。
基準配置文件
https://developer.android.google.cn/studio/profile/baselineprofiles
在 AGP 7.3 中,基準配置文件工具是完全穩定的,因此您無需使用 alpha 依賴項也可以在應用首次啟動時及應用每次更新后滾動時將性能提升 30% 以上。
在 profileinstaller:1.3.0-alpha01 中,您可以使用 ProfileVerifier 檢測字段中的配置文件編譯。此外,從 Android Studio Flamingo Canary 6 開始,Studio APK Inspector 現在會顯示 APK 基準配件文件的內容。
ProfileVerifier
https://developer.android.google.cn/reference/androidx/profileinstaller/ProfileVerifier
啟動指標是衡量應用性能的重要組成部分,但是系統 (以及 Benchmark 庫) 需要獲取標志啟動階段完成的信號才能進行測量。這個信號便是 Activity 對 reportFullyDrawn() 的調用。Activity 1.7.0-alpha01 以 FullyDrawnReporter API 的形式添加了新的 API,允許多個組件在它們準備好交互時進行報告。ComponentActivity 將等待所有組件完成報告后再代表您調用 reportFullyDrawn()。
Activity
https://developer.android.google.cn/jetpack/androidx/releases/activity
在完成啟動后向 Android 運行時發送信號,以確保在多幀啟動序列中運行的所有代碼都包括在內,并優先用于后臺編譯。
在您的應用應被視為完全繪制啟動指標時,向 Macrobenchmark 和 Play Vitals 發送信號,以便跟蹤應用性能。
我們新增了兩個 Activity Compose API: ReportDrawnWhen 和 ReportDrawnAfter,以使其更方便地從單個可組合項中使用 FullyDrawnReporter。
重組跟蹤
我們最近發布了首個 alpha 版的 Jetpack Compose 組合跟蹤 (Composition Tracing),這個工具可讓您在 Android Studio 系統跟蹤記錄分析器中查看可組合函數。此功能既有系統跟蹤的低干擾性優勢,又有組合中函數跟蹤的詳細程度。通過在 Compose Runtime Tracing 上添加依賴項,您便能夠在 Android Studio Flamingo Canary 5 系統跟蹤記錄中看到重組調用堆棧的跟蹤記錄,然后點擊即可直接導航到代碼!您可以參閱相關文檔,了解關于此功能以及如何在項目中進行設置的更多內容。
相關文檔
https://medium.com/androiddevelopers/jetpack-compose-composition-tracing-9ec2b3aea535
界面庫及相關指南
其中包含的組件包括:
Button: 可點擊的圓形對象,包含圖標、文本或圖片 (具有 3 種預定義的尺寸)。 Chip: 可點擊的體育場形對象,可以包含圖標、主標簽和次級標簽,并且具有固定的高度和可自定義的寬度。 CompactChip 和 TitleChip: 標準 Chip 的兩個變體,但高度不同 (一個較矮,一個較高),可以包含一行文本。 CircularProgressIndicator: 位于屏幕邊緣周圍的彩色弧線,具有給定的起始角度和結束角度,可描繪一個完整或部分的圓圈,后面顯示完整的進度弧。 Text: 使用建議的 Wear Material 排版樣式的風格化文本。
Button https://developer.android.google.cn/reference/androidx/wear/tiles/material/Button Chip https://developer.android.google.cn/reference/androidx/wear/tiles/material/Chip CompactChip https://developer.android.google.cn/reference/androidx/wear/tiles/material/CompactChip TitleChip https://developer.android.google.cn/reference/androidx/wear/tiles/material/TitleChip CircularProgressIndicator https://developer.android.google.cn/reference/androidx/wear/tiles/material/CircularProgressIndicator Text https://developer.android.google.cn/reference/androidx/wear/tiles/material/Text
除組件外,Material 指南中還包含一些推薦的卡片布局。您可以閱讀相關博文,了解更多關于 Wear OS Tiles Material 庫的信息。
相關博文
https://android-developers.googleblog.com/2022/08/wear-os-tiles-material-library-build-tiles-fast.html
SplashScreen
https://developer.android.google.cn/jetpack/androidx/releases/core#core-splashscreen-1.0.0
指南
https://developer.android.google.cn/guide/topics/ui/splash-screen/migrate#migrate_your_splash_screen_implementation
官方文檔
https://developer.android.google.cn/guide/topics/ui/splash-screen
其他重要更新
CameraX庫
https://developer.android.google.cn/jetpack/androidx/releases/camera示例代碼
https://github.com/androidx/androidx/blob/androidx-main/camera/integration-tests/viewtestapp/src/main/java/androidx/camera/integration/view/MlKitFragment.kt
Zero-Shutter Lag APIhttps://developer.android.google.cn/reference/androidx/camera/core/ImageCapture#CAPTURE_MODE_ZERO_SHUTTER_LAG
Annotation 庫
https://developer.android.google.cn/jetpack/androidx/releases/annotation
Annotation 1.5 穩定版本已經完全遷移至 Kotlin 源代碼,因此支持特定于 Kotlin 的目標使用網站和其他與 Kotlin 兼容的注解功能。
我們一直在嘗試使 Jetbrains 的 Kotlin 多平臺移動版支持跨平臺共享代碼。我們針對 Android 和 iOS 應用推出了實驗性的 Collection 預覽版和 DataStore 庫。期待您的反饋!您可以查看相關博文,了解更多內容。
Collection
https://developer.android.google.cn/jetpack/androidx/releases/collection
DataStore
https://developer.android.google.cn/topic/libraries/architecture/datastore
相關博文
https://android-developers.googleblog.com/2022/10/announcing-experimental-preview-of-jetpack-multiplatform-libraries.html
版本說明
https://developer.android.google.cn/jetpack/androidx/versions
API 選取器
https://developer.android.google.cn/jetpack/androidx/explorer?case=popular
視頻
https://www.youtube.com/playlist?list=PLWz5rJ2EKKc_L3n1j4ajHjJ6QccFUvW1u
也歡迎您持續關注我們,及時了解更多開發技術和產品更新等資訊動態。
原文標題:Jetpack 更新一覽 | 2022 Android 開發者峰會
文章出處:【微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。
-
谷歌
+關注
關注
27文章
6179瀏覽量
105756
原文標題:Jetpack 更新一覽 | 2022 Android 開發者峰會
文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論