ViewModel 是 Android 架构组件中的关键类,用于存储和管理 UI 相关数据,确保数据在配置更改(如屏幕旋转)时不会丢失。以下是核心要点:
🔑 核心作用
- 数据持久化:通过
LiveData
或Repository
模式绑定数据,与 UI 异步更新 - 生命周期感知:自动处理 Activity/Fragment 的生命周期,避免内存泄漏
- 解耦逻辑:将业务逻辑与 UI 分离,提升代码可维护性
📌 使用场景
- 需要跨配置更改保留数据(如表单输入)
- 与
LiveData
配合实现响应式编程 - 在 MVVM 架构中作为数据层与视图层的桥梁
🧠 代码示例
class UserViewModel : ViewModel() {
val userLiveData = MutableLiveData<User>()
fun loadUser() {
// 异步加载数据
viewModelScope.launch {
val user = repository.getUser()
userLiveData.value = user
}
}
}