因此,我一直在关注Android ViewModel概述,因为我需要在片段之间进行通信,在创建ViewModel时,它使用ViewModelProviders,这需要您添加依赖项。在查看ViewModelProviders的文档时,我看到了以下内容:
我应该继续遵循概述,添加所需的依赖关系,还是应该对其进行修改以使用ViewModelProvider?两者都有什么好处?
谢谢。
您应避免使用不建议使用的API。弃用意味着计划将其删除,并且将不会对其进行维护。
如果检查添加了弃用的提交:https://android-review.googlesource.com/c/platform/frameworks/support/+/1009889/6
如果检查过时的提交的差异,您会发现ViewModelProviders.of
内部使用了建议的API。 (see diff)
发行说明:https://developer.android.com/jetpack/androidx/releases/lifecycle#2.2.0-alpha03
ViewModelProviders.of()已被弃用。您可以将Fragment或FragmentActivity传递给新的ViewModelProvider(ViewModelStoreOwner)构造函数以实现相同的功能。
所以这意味着您可以使用构造函数而不是ViewModelProviders.of()
来实现完全相同的事情。
我的看法是,尽可能避免使用不推荐使用的方法。关于它here有很好的讨论。至于收益,我认为后者可能会更好,因为它是最新迭代的一部分。我已经尝试过使用无限的垂直滚动recyclerView了,但我还没有注意到命名的任何大差异。