1.背景
谷歌官方的JetPack框架给开发者带来了丰富、好用的接口组件,很大程度上提升了应用质量和开发效率。但在开发过程中,笔者遇到一个问题,从截图(如下)上面可以看到,旧版本的API被添加了Deprecated,也就是 不给推荐使用。
2.ViewModelProviders接口构造ViewModel的实现原理
- 查看 ViewModelProviders.of(this) 方法
@Deprecated
@NonNull
@MainThread
public static ViewModelProvider of(@NonNull FragmentActivity activity) {
return new ViewModelProvider(activity);
}
- 结论:可以看到,ViewModelProviders只是封装了一个静态方法of来新建一个ViewModelProvider对象,与直接 new 一个ViewModelProvider的方式,本质上是相同的,因此,可以建议使用新API的方法。
3.为什么要 抛弃ViewModelProviders的构造方法,存在什么问题,或者 新API有什么优势呢?
未完待续,敬请期待