视图绑定应该取代数据绑定吗?

Fra*_*cis 4 architecture android mvvm android-databinding android-viewbinding

目前,我正在使用data binding两种情况:

  • views以片段方式访问
  • 在布局中订阅数据view model

当我与 进行比较时view binding,我发现两种方法都很好(view binding更好地访问viewsdata binding绑定数据),那么MVVM 应该首选哪种模式?

我应该只移动view binding并处理ViewModel-layout片段中的连接吗?

Ash*_*hok 5

对于您的问题Should View Binding replace Data Binding,答案是这取决于用例。

ViewBinding 仅生成布局文件的 ViewBinding,因此您可以在不使用findViewById.

DataBinding 为您提供相同的功能,但具有额外的功能,例如数据绑定表达式(将常见的 Java 逻辑放入 XML 中)、整个 xml 的公共数据变量、注释等。

那么什么时候使用这些呢?
如果您只需要访问 Java 代码中的视图,而不需要任何复杂/重复的视图逻辑(例如:根据一个数据变量更改多个视图的可见性),那么您应该使用它,ViewBinding因为它更轻、更快。

但如果您需要的不仅仅是访问绑定表达式、绑定适配器等视图(这是大型项目的一般要求)。您应该使用它,DataBinding因为它提供了更多功能。

有关更多信息,请查看
https://developer.android.com/topic/libraries/view-binding#data-binding - AndroidDeveloper 的比较
https://proandroiddev.com/new-in-android-viewbindings- the-difference-from-databinding-library-bef5945baf5e - ProAndroidDev 的比较