ViewModel 是 Android 架构组件中的关键类,用于存储和管理 UI 相关数据,确保数据在配置更改(如屏幕旋转)时不会丢失。以下是核心要点:


🔑 核心作用

  • 数据持久化:通过 LiveDataRepository 模式绑定数据,与 UI 异步更新
  • 生命周期感知:自动处理 Activity/Fragment 的生命周期,避免内存泄漏
  • 解耦逻辑:将业务逻辑与 UI 分离,提升代码可维护性

📌 使用场景

  • 需要跨配置更改保留数据(如表单输入)
  • LiveData 配合实现响应式编程
  • 在 MVVM 架构中作为数据层与视图层的桥梁

🧠 代码示例

class UserViewModel : ViewModel() {
    val userLiveData = MutableLiveData<User>()
    
    fun loadUser() {
        // 异步加载数据
        viewModelScope.launch {
            val user = repository.getUser()
            userLiveData.value = user
        }
    }
}

📌 扩展阅读


Android_ViewModel