1.什么是ViewModel
具备宿主生命周期感知能力的数据存储组件
ViewModel保存的数据,在页面因 配置变更导致页面销毁 重建之后依然是存在的
配置变更:横竖屏切换、分辨率调整、权限变更、系统字体样式变更...其实就是ViewModel实例被保存了下来,页面重建之后获取的ViewModel是同一个
2.基本用法
常规用法:存储的数据,仅仅只能当页面因为配置变更导致的销毁再重建时可复用,复用的是ViewModel...该方法中的onRetainCustomNonConfigurationInstance()这行代码,
如果我们想在activity保存一下数据,就是说因配置变更页面被销毁了,重建的时候继续复用...方法,
//从而把Activity受到配置变更而不想丢失的数据给保存起来,那我们的viewModelStore对象也就被保存起来了
r.lastNonConfigurationInstances...,这个字段存储的就是因配置变更导致的被销毁的那个activity存留下来的数据
3.当handleDestroyActivity()这个方法被调用完,我们的ActivityClientRecord 这个