Android ViewModel 是 Android 架构组件的一部分,主要用于存储和管理与 UI 相关的数据,使数据能够在配置变化(如屏幕旋转)时得以保存。下面是 ViewModel 的工作原理:
-
生命周期感知:ViewModel 是生命周期感知型组件,不会因 UI 控件的生命周期变化(如 Activity 重建)而销毁。它的生命周期与其关联的
ViewModelStoreOwner(通常是 Activity 或 Fragment)相同。 -
数据持久化:当 Activity 或 Fragment 重新创建时,如在屏幕旋转时,ViewModel 不会被销毁,因此它所持有的数据也不会丢失。ViewModel 的实例只会在
ViewModelStoreOwner被彻底销毁时(如 Activity 被彻底退出或 Fragment 被移除)才会被清理。 -
数据与 UI 分离:ViewModel 将数据与 UI 控件分离,确保数据逻辑和 UI 逻辑的分离,这有助于提升代码的可维护性和测试性。
-
LiveData 支持:通常,ViewModel 与 LiveData 一起使用。LiveData 是一个可观察的数据持有类,它与 ViewModel 结合使用,可以帮助开发者实现数据变化的自动通知和 UI 的更新。
基本使用方法
-
定义 ViewModel:
class MyViewModel : ViewModel() { private val _data = MutableLiveData<String

最低0.47元/天 解锁文章
585

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



