ViewModel
什么是ViewModel
-
具备宿主生命周期感知能力的数据存储组件
-
ViewModel保存的数据,在页面因配置变更导致页面销毁重建之后依然也是存在的
配置变更:横竖屏切换、分辨率调整、权限变更、系统字体样式变更
ViewModel的用法
配置变更ViewModel复用实现原理
ViewModel数据复用进阶SaveState
- SavedStatedHandle的数据存储与恢复。即便ViewModel不是同一个实例,它存储的数据也能做到复用
- SavedStateRegistryController:用于创建SaveStatedRegistry
- SavedStatedRegistry数据存储、恢复中心。
- SavedStateHandle:单个ViewModel数据存储、恢复。