24
基础架构:从MVC到MVVM
- MVC(已过时但需理解)
问题:Activity/Fragment既处理UI又执行业务逻辑,代码臃肿(俗称“上帝类”)。
典型场景:在onCreate()里写网络请求+数据库操作+视图更新,后期维护想撞墙。
- MVVM(推荐)
核心组件:
ViewModel:保存UI数据,生命周期长于Activity(旋转屏幕不丢失数据)。
LiveData:数据驱动UI更新,自动避免内存泄漏。
DataBinding(可选):XML直接绑定ViewModel,减少findViewById()。
代码片段:
kotlin
// ViewModel中暴露LiveData
val userList: MutableLiveData<List
// Activity观察数据变化
viewModel.userList.observe(this) { list ->
adapter.submitList(list)
}

浙公网安备 33010602011771号