ViewModel 是 Android Jetpack 组成的一部分,它用于在配置更改(如屏幕旋转)发生时保存和恢复 UI 相关数据。下面是一些关于 ViewModel 的关键点:
- 作用:ViewModel 提供了一个存储 UI 状态的地方,使得即使在配置更改后,数据也不会丢失。
- 生命周期:ViewModel 的生命周期比 Activity 或 Fragment 更长,因此可以跨配置更改保持数据。
- 使用场景:适用于需要跨配置更改保持 UI 状态的场景,如列表数据、用户输入等。
ViewModel 的优势
- 简化 UI 状态管理:通过 ViewModel,你可以将 UI 状态与业务逻辑分离,使代码更加清晰。
- 提高性能:ViewModel 可以在后台线程上执行操作,避免在主线程上进行耗时操作,从而提高应用性能。
如何使用 ViewModel
- 创建 ViewModel:首先,你需要创建一个 ViewModel 类,并在其中定义你的数据和方法。
- 在 Activity 或 Fragment 中使用 ViewModel:通过 ViewModelProvider 获取 ViewModel 实例,并将其注入到你的 Activity 或 Fragment 中。
- 观察 ViewModel 的数据变化:使用 LiveData 或 Flow 来观察 ViewModel 的数据变化,并在 UI 中更新。
扩展阅读
想要了解更多关于 ViewModel 的信息,可以阅读以下文章: