ViewModel小结

1、onRetainNonConfigurationInstance 和getLastCustomNonConfigurationInstance保证切换屏幕、不保留活动、切换语言等情况时共用同一个ViewModel
2、一个ComponentActivity 有一个ViewModelStore,ViewModelStore有一个map:key为类名,value为viewmodule,监听lifecycle的destroy然后调用clear方法最终调用viewmodel的clear方法达到清理的效果
3、fragment也跟一个viewmodelstore对应
FragmentManagerViewModel
 private final HashMap mViewModelStores = new HashMap<>();
key为fragment.mWho,value为ViewModelStore

你可能感兴趣的:(android)