參考: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持有的數據不變