作者 /產(chǎn)品經(jīng)理 Amanda Alexander
Android Jetpack
https://developer.android.google.cn/jetpack
現(xiàn)代 Android 開發(fā)
https://developer.android.google.cn/modern-android-development
Google Play 上的大多數(shù)應(yīng)用都使用 Jetpack 作為其應(yīng)用架構(gòu)的關(guān)鍵組件。事實上,在排行前 1,000 的應(yīng)用中,超過 90% 的應(yīng)用都使用了 Android Jetpack。
架構(gòu)庫及相關(guān)指南
應(yīng)用性能 界面庫及相關(guān)指南
架構(gòu)庫及相關(guān)指南
應(yīng)用架構(gòu)庫和組件可確保應(yīng)用的穩(wěn)健性、可測試性及可維護性。
借助 WorkManager 庫,您可以輕松調(diào)度必須可靠運行的可延期異步任務(wù),例如上傳備份或分析。通過這些 API,您可以創(chuàng)建任務(wù)并提交給 WorkManager,以便在滿足工作約束條件時運行。
WorkManager
https://developer.android.google.cn/jetpack/androidx/releases/work
更新后的 WorkManager2.8.0-alpha04 能以非干擾的方式更新 WorkRequest,從而保持其原始排隊時間、工作鏈等。借助 WorkManager,開發(fā)者可以更輕松地更改工作器的約束條件。例如,當我們需要將約束條件從一個應(yīng)用版本更改為另一個版本或通過服務(wù)器端設(shè)置的配置進行更改時。在過去,只有通過取消已調(diào)度的工作器再重新調(diào)度才能更改約束條件。但是這種方法會造成嚴重混亂: 處于運行狀態(tài)的工作器可能需要停止運行;按一定周期運行的工作器的節(jié)奏可能會被打亂;并且當其中一個工作器需要進行更新時,整個工作器鏈都需要重新構(gòu)建。而現(xiàn)在,使用 update 方法或 ExistingPeriodicWorkPolicy.UPDATE,開發(fā)者便無需擔心這些問題。
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
預(yù)測性返回手勢
https://developer.android.google.cn/guide/navigation/predictive-back-gesture
自定義返回導(dǎo)航
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
新的架構(gòu)文檔
新的架構(gòu)建議頁面
https://developer.android.google.cn/topic/architecture/recommendations
我們團隊最近發(fā)布了新的模塊化指南。該指南分為兩個部分:
概覽頁面對相關(guān)問題作出高層次的理論性概述。 常見模塊化模式頁面深入介紹現(xiàn)代 Android 架構(gòu)背景下的實用示例。
概覽頁面
https://developer.android.google.cn/topic/modularization
常見模塊化模式頁面
https://developer.android.google.cn/topic/modularization/patterns
狀態(tài)容器和界面狀態(tài)頁面說明您可以在界面層中找到的不同類型的狀態(tài)容器,以及根據(jù)要執(zhí)行的邏輯類型判斷應(yīng)使用哪種實現(xiàn)。
狀態(tài)生成頁面展示有關(guān)如何根據(jù)狀態(tài)變更的來源對界面狀態(tài)進行建模并公開的最佳實踐。
界面層文檔
https://developer.android.google.cn/topic/architecture/ui-layer
狀態(tài)容器和界面狀態(tài)頁面
https://developer.android.google.cn/topic/architecture/ui-layer/stateholders
狀態(tài)生成頁面
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
構(gòu)建離線優(yōu)先應(yīng)用指南
https://developer.android.google.cn/topic/architecture/data-layer/offline-first
利用 ViewModel,您可以將狀態(tài)容器模式納入界面層中。我們最近更新了相關(guān)文檔,其中包含以下內(nèi)容:
關(guān)于 ViewModel 工作原理及適用范圍的概覽。 如何在不使用適用于使用 Hilt 注入 ViewModel 對象的預(yù)構(gòu)建支持的情況下利用依賴項創(chuàng)建 ViewModel。
關(guān)于 ViewModel 的適用范圍及啟用該支持的 API 的詳情。
ViewModel 如何通過 ViewModel 的已保存狀態(tài)模塊在進程終止和恢復(fù)的過程中保存狀態(tài)。
ViewModel
https://developer.android.google.cn/topic/libraries/architecture/viewmodel
狀態(tài)容器模式
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
利用依賴項創(chuàng)建 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 的已保存狀態(tài)模塊
https://developer.android.google.cn/topic/libraries/architecture/viewmodel/viewmodel-savedstate
應(yīng)用性能
通過使用性能庫,您可以構(gòu)建高性能的應(yīng)用,并有針對性的優(yōu)化以保持其性能表現(xiàn),從而提供更好的最終用戶體驗。
基準配置文件
https://developer.android.google.cn/studio/profile/baselineprofiles
在 AGP 7.3 中,基準配置文件工具是完全穩(wěn)定的,因此您無需使用 alpha 依賴項也可以在應(yīng)用首次啟動時及應(yīng)用每次更新后滾動時將性能提升 30% 以上。
在 profileinstaller:1.3.0-alpha01 中,您可以使用 ProfileVerifier 檢測字段中的配置文件編譯。此外,從 Android Studio Flamingo Canary 6 開始,Studio APK Inspector 現(xiàn)在會顯示 APK 基準配件文件的內(nèi)容。
ProfileVerifier
https://developer.android.google.cn/reference/androidx/profileinstaller/ProfileVerifier
啟動指標是衡量應(yīng)用性能的重要組成部分,但是系統(tǒng) (以及 Benchmark 庫) 需要獲取標志啟動階段完成的信號才能進行測量。這個信號便是 Activity 對 reportFullyDrawn() 的調(diào)用。Activity 1.7.0-alpha01 以 FullyDrawnReporter API 的形式添加了新的 API,允許多個組件在它們準備好交互時進行報告。ComponentActivity 將等待所有組件完成報告后再代表您調(diào)用 reportFullyDrawn()。
Activity
https://developer.android.google.cn/jetpack/androidx/releases/activity
在完成啟動后向 Android 運行時發(fā)送信號,以確保在多幀啟動序列中運行的所有代碼都包括在內(nèi),并優(yōu)先用于后臺編譯。
在您的應(yīng)用應(yīng)被視為完全繪制啟動指標時,向 Macrobenchmark 和 Play Vitals 發(fā)送信號,以便跟蹤應(yīng)用性能。
我們新增了兩個 Activity Compose API: ReportDrawnWhen 和 ReportDrawnAfter,以使其更方便地從單個可組合項中使用 FullyDrawnReporter。
重組跟蹤
我們最近發(fā)布了首個 alpha 版的 Jetpack Compose 組合跟蹤 (Composition Tracing),這個工具可讓您在 Android Studio 系統(tǒng)跟蹤記錄分析器中查看可組合函數(shù)。此功能既有系統(tǒng)跟蹤的低干擾性優(yōu)勢,又有組合中函數(shù)跟蹤的詳細程度。通過在 Compose Runtime Tracing 上添加依賴項,您便能夠在 Android Studio Flamingo Canary 5 系統(tǒng)跟蹤記錄中看到重組調(diào)用堆棧的跟蹤記錄,然后點擊即可直接導(dǎo)航到代碼!您可以參閱相關(guān)文檔,了解關(guān)于此功能以及如何在項目中進行設(shè)置的更多內(nèi)容。
相關(guān)文檔
https://medium.com/androiddevelopers/jetpack-compose-composition-tracing-9ec2b3aea535
界面庫及相關(guān)指南
其中包含的組件包括:
Button: 可點擊的圓形對象,包含圖標、文本或圖片 (具有 3 種預(yù)定義的尺寸)。 Chip: 可點擊的體育場形對象,可以包含圖標、主標簽和次級標簽,并且具有固定的高度和可自定義的寬度。 CompactChip 和 TitleChip: 標準 Chip 的兩個變體,但高度不同 (一個較矮,一個較高),可以包含一行文本。 CircularProgressIndicator: 位于屏幕邊緣周圍的彩色弧線,具有給定的起始角度和結(jié)束角度,可描繪一個完整或部分的圓圈,后面顯示完整的進度弧。 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 指南中還包含一些推薦的卡片布局。您可以閱讀相關(guān)博文,了解更多關(guān)于 Wear OS Tiles Material 庫的信息。
相關(guān)博文
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 穩(wěn)定版本已經(jīng)完全遷移至 Kotlin 源代碼,因此支持特定于 Kotlin 的目標使用網(wǎng)站和其他與 Kotlin 兼容的注解功能。
我們一直在嘗試使 Jetbrains 的 Kotlin 多平臺移動版支持跨平臺共享代碼。我們針對 Android 和 iOS 應(yīng)用推出了實驗性的 Collection 預(yù)覽版和 DataStore 庫。期待您的反饋!您可以查看相關(guān)博文,了解更多內(nèi)容。
Collection
https://developer.android.google.cn/jetpack/androidx/releases/collection
DataStore
https://developer.android.google.cn/topic/libraries/architecture/datastore
相關(guān)博文
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
也歡迎您持續(xù)關(guān)注我們,及時了解更多開發(fā)技術(shù)和產(chǎn)品更新等資訊動態(tài)。

原文標題:Jetpack 更新一覽 | 2022 Android 開發(fā)者峰會
文章出處:【微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
谷歌
+關(guān)注
關(guān)注
27文章
6225瀏覽量
107668
原文標題:Jetpack 更新一覽 | 2022 Android 開發(fā)者峰會
文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
世界各國&地區(qū)常見電壓/頻率/插頭/插座一覽表
【Android開發(fā)者必看】使用JetBrains TeamCity為Android項目構(gòu)建CI/CD管道詳細指南

Android 16的首個Beta版現(xiàn)已推出,升級功能有這些

谷歌推出Android XR SDK開發(fā)者預(yù)覽版
開發(fā)者的開源鴻蒙故事
《HarmonyOS第一課》煥新升級,賦能開發(fā)者快速掌握鴻蒙應(yīng)用開發(fā)
谷歌推出Android 16首個開發(fā)者預(yù)覽版
云端AI開發(fā)者工具怎么用
解析NVIDIA JetPack 6.1的新功能

HarmonyOS NEXT應(yīng)用元服務(wù)開發(fā)Intents Kit(意圖框架服務(wù))事件推薦開發(fā)者測試
deepin社區(qū)亮相第19屆中國Linux內(nèi)核開發(fā)者大會
KaihongOS 4.1.2開發(fā)者預(yù)覽版正式上線,誠邀開發(fā)者免費試用!

評論