繁体   English   中英

我应该使用 ViewModelProvider 而不是 ViewModelProviders 吗? 如果是这样,为什么?

[英]Should I be using ViewModelProvider instead of ViewModelProviders? If so, why?

所以我一直在关注 Android ViewModel 概述,因为我需要在片段之间进行通信,在创建 ViewModel 时,它使用 ViewModelProviders,这需要您添加依赖项。 在查看 ViewModelProviders 的文档时,我看到了这一点: 弃用消息

我应该继续遵循概述,添加所需的依赖项,还是应该修改它以使用 ViewModelProvider? 两者有什么好处?

谢谢你。

您应该避免使用已弃用的 API。 弃用意味着它计划被删除并且不会被维护。

如果您检查添加了弃用的提交: https : //android-review.googlesource.com/c/platform/frameworks/support/+/1009889/6

如果您检查已弃用提交的差异,您可以看到ViewModelProviders.of内部使用了建议的 API。 见差异

发行说明: https : //developer.android.com/jetpack/androidx/releases/lifecycle#2.2.0-alpha03

ViewModelProviders.of() 已被弃用。 您可以将 Fragment 或 FragmentActivity 传递给新的 ViewModelProvider(ViewModelStoreOwner) 构造函数以实现相同的功能。

所以这意味着您可以使用构造函数而不是ViewModelProviders.of()来实现完全相同的事情。

我对此的看法是尽可能避免使用已弃用的方法。 有一个关于它的很好的讨论在这里 至于好处,我认为后者可能更好,因为它是最近迭代的一部分。 我已经尝试了无限垂直滚动 recyclerView,但我没有注意到命名有任何大的不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM