参考:https://developer.android.google.cn/topic/libraries/architecture/viewmodel
ViewModel组件是JetPack组件之一,它旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel
类让数据可在发生屏幕旋转等配置更改后继续存在。
ViewModel特点:
1.一般与Activity或者Fragment联用
2.直到Activity或者Fragment完全毁灭才会消失,如果是配置信息(旋转屏幕)变动将会与ViewModel重新连接
3.在MVVM框架中充当连接View和Model的桥梁,通过LiveData和DataBinding向外部暴露数据
ViewModel中关键类
1. ViewModelProvider :提供ViewModel的ViewModel,其中的Factory接口提供创建ViewModel的Create接口,具体实现由它的实现类完成。
2.ViewModelStore:存储ViewModel的数据,当owner(例Activity)配置信息变动导致生命周期变动时能够维持ViewModel持有的数据不变