24

基础架构:从MVC到MVVM

  1. MVC(已过时但需理解)

问题:Activity/Fragment既处理UI又执行业务逻辑,代码臃肿(俗称“上帝类”)。

典型场景:在onCreate()里写网络请求+数据库操作+视图更新,后期维护想撞墙。

  1. MVVM(推荐)

核心组件:

ViewModel:保存UI数据,生命周期长于Activity(旋转屏幕不丢失数据)。

LiveData:数据驱动UI更新,自动避免内存泄漏。

DataBinding(可选):XML直接绑定ViewModel,减少findViewById()。

代码片段:

kotlin
// ViewModel中暴露LiveData
val userList: MutableLiveData<List> = MutableLiveData()

// Activity观察数据变化
viewModel.userList.observe(this) { list ->
adapter.submitList(list)
}

posted @ 2025-06-10 16:02  吉尼泰梅  阅读(6)  评论(0)    收藏  举报