一、ViewModel 概述
ViewModel 是 Android Jetpack 架构组件中的重要一员,专门为解决 Activity 和 Fragment 中的 UI 数据管理问题而设计。它的核心目标是:
-
管理 UI 相关数据:以生命周期感知的方式保存和管理数据
-
解决配置变更问题:在屏幕旋转等配置更改时保留数据
-
避免内存泄漏:自动清理资源,防止 Activity/Fragment 引用泄漏
// 基本ViewModel类定义 class MyViewModel : ViewModel() { // 数据将在此保存 var counter = 0 }二、ViewModel 生命周期
理解 ViewModel 的生命周期是其正确使用的关键:
-
ViewModel 的生命周期比创建它的 Activity/Fragment 更长
-
在 Activity 完成(finish)时才会清除
-
屏幕旋转等配置变化不会导致重建
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // 获取ViewModel实例 val m

最低0.47元/天 解锁文章
584

被折叠的 条评论
为什么被折叠?



