ViewModelProvider()
ViewModel的提供者,获取VM的基本入口。实际依赖ViewModelStore存取ViewModel,Factory生成/恢复ViewModel。
例如:
myViewModel = new ViewModelProvider(requireActivity()).get(MyViewModel.class);
Factory
接口,实现该接口的类主要用于创建ViewModel实例。不建议直接实现该接口,除非你清楚框架内容和自己的需求。一般情况下,如果无需SavedStateHandle机制,可以使用AndroidViewModelFactory。否则应该使用或继承SavedStateViewModelFactory。
SavedStateViewModelFactory()
主要用来保存activity毁灭后的数据,比如最高纪录的显示。在下一次App启动时依然可以得到最高纪录的数据。