ViewModel
https://developer.android.google.cn/topic/libraries/architecture/viewmodel
ViewModel的诞生
瞬态数据丢失
异步调用的内存泄漏
类膨胀提高维护难度和测试难度
ViewModel的作用
1.它是介于View(视图)和Model(数据模型)之间的桥梁
2.使视图和数据能够分离,也能保持通信
ViewModel的生命周期特性
独立于配置变化
//旋转屏幕不会丢失数据
MyViewModel extents ViewModel
int num = 0
// 获取ViewModel
viewModel = new ViewModelProvider(this,new ViewModelProvider(this,new AndroidViewModelFactory(this)).get(MViewModel.class))
++ viewModel.num
text.setText(viewModel.num)
AndroidViewModel
1.不要向ViewModel中传入Context,会导致内存泄漏
2.如果要使用Context,请使用AndroidViewModel中的Applications