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有什么优势呢?
未完待续,敬请期待
本文讨论了谷歌JetPack框架中ViewModelProviders接口被标记为废弃的原因及其替代方案。通过分析ViewModelProviders.of(this)方法的实现原理,指出其本质是创建ViewModelProvider实例,并建议采用新API进行替换。
825

被折叠的 条评论
为什么被折叠?



