作者 / 产品经理 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
更新后的 WorkManager 2.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
我们团队最近发布了新的模块化指南。该指南分为两个部分:
概览页面
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,您可以将状态容器模式纳入界面层中。我们最近更新了相关文档,其中包含以下内容:
如何在不使用适用于使用 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
界面库及相关指南
其中包含的组件包括:
除组件外,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 开发者峰会
文章出处:【微信公众号:谷歌开发者】欢迎添加关注!文章转载请注明出处。
全部0条评论
快来发表一下你的评论吧 !