实例化ViewModel

​ 新建一个ViewModel为MainViewModel,旧的实例化ViewModel方法为

val mainViewModel = ViewModelProvider(this, ViewModelProvider.NewInstanceFactort()).get(MainViewModel::class.java)

​ 新方法需要导入一个fragment-ktx扩展,在dependencies下添加implementation("androidx.fragment:fragment-ktx:$version")即可

​ 在实例化ViewModel时的代码为

val myViewModel by viewModels<MainViewModel>()

创建能在后台被杀死时仍保存数据的ViewModel

​ 在viewModel中添加savedStateHandle参数即可

class MainViewModel(private val savedStateHandler: SavedStateHandle) : ViewModel() {

}

​ Android便可使用该参数在app回到前台时恢复页面