Skip to content
阅读进度

常见 Jetpack 组件分别解决什么问题? ​

返回 架构与 SDK 目录

标准回答 ​

Lifecycle 管组件生命周期感知;ViewModel 管页面状态;LiveData / Flow 提供可观察数据;Room 管结构化本地数据;WorkManager 管可延迟持久任务。

关键机制 ​

  • Flow 属于 Kotlin 协程生态,并非所有 Flow 都自动感知 Android 生命周期;UI 收集应结合 repeatOnLifecycle 等机制。
  • Room 在 SQLite 上提供对象映射、查询检查和迁移能力;数据库 schema 升级必须考虑旧数据。
  • DataStore 适合偏好或类型化小量状态,不代替复杂关系查询数据库;Navigation 管页面导航与返回关系。

通俗例子 ​

设备收藏页:Room 保存收藏,Repository 暴露数据流,ViewModel 转成 UI 状态,页面仅在合适生命周期内收集与展示。

易混淆点 ​

“用了 Jetpack”不是架构描述;需要说明各组件解决的问题、边界和失败行为。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。