Android Jetpack架构组件之ViewModel

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(thisnew AndroidViewModelFactory(this)).get(MViewModel.class))
++ viewModel.num
text.setText(viewModel.num)

AndroidViewModel

1.不要向ViewModel中传入Context,会导致内存泄漏
2.如果要使用Context,请使用AndroidViewModel中的Applications

你可能感兴趣的:(Jetpack,android,jetpack,viewmodel)