标签 viewmodel 下的文章

ViewModel源码分析

知识点

  1. ViewModelProviders:ViewModelProvider的工厂方法。
  2. ViewModelProvider:工具类,通过反射的方式创建ViewModel。
  3. AndroidViewModelFactory:ViewModelProvider的静态内部类 ,全局单例只有一个 ,用于实现反射创建ViewModel。
  4. ViewModelStores:ViewModelStore的工厂方法类。
  5. ViewModelStore:使用HashMap存储ViewModel,key为:“DEFAULT_KEY + ":" + canonicalName”。
  6. HolderFragment:系统为你的Activity添加一个具有提供ViewModelStore的Fragment,并且因为这个Fragment调用了setRetainInstance(true),所以它能够跨越activity的生命周期。

使用

ViewModelProviders.of(getActivity()).get(MainViewModel.class);

- 阅读剩余部分 -