外观
常见 Jetpack 组件分别解决什么问题?
标准回答
Lifecycle 管组件生命周期感知;ViewModel 管页面状态;LiveData / Flow 提供可观察数据;Room 管结构化本地数据;WorkManager 管可延迟持久任务。
关键机制
- Flow 属于 Kotlin 协程生态,并非所有 Flow 都自动感知 Android 生命周期;UI 收集应结合 repeatOnLifecycle 等机制。
- Room 在 SQLite 上提供对象映射、查询检查和迁移能力;数据库 schema 升级必须考虑旧数据。
- DataStore 适合偏好或类型化小量状态,不代替复杂关系查询数据库;Navigation 管页面导航与返回关系。
通俗例子
设备收藏页:Room 保存收藏,Repository 暴露数据流,ViewModel 转成 UI 状态,页面仅在合适生命周期内收集与展示。
易混淆点
“用了 Jetpack”不是架构描述;需要说明各组件解决的问题、边界和失败行为。
参考资料
内容来源
- Android 技术札记 · 原条目
jetpack