2

正如我们在这里ViewBinding所读到的,和之间的差异非常小Databinding

  • 数据绑定库仅处理使用<layout>标签创建的数据绑定布局。

  • 视图绑定不支持布局变量或布局表达式,因此它不能用于将布局与 XML 中的数据绑定。

开发人员还应该注意哪些其他差异?为什么要创造差异如此之小的新事物?

有人请解释

4

3 回答 3

5

为什么要创造差异如此之小的新事物?

视图绑定的构建时间比数据绑定要短得多,因为涉及的工作要少得多。对于小型项目,这可能无关紧要。对于大型项目,对构建时间的影响可能很大。

于 2019-11-04T13:10:42.487 回答
1

视图绑定的优点是速度和效率。它具有更短的构建时间,因为它避免了与数据绑定相关的开销和性能问题,因为注释处理器会影响数据绑定的构建时间。

于 2021-09-27T07:12:18.883 回答
0

以下是您可能更喜欢视图绑定而不是数据绑定的原因之一:

数据绑定库仅处理使用<layout>标签创建的数据绑定布局。数据绑定布局文件略有不同,以布局的根标记开头,后跟数据元素和视图根元素

这在打算使用合并时会导致问题:

数据绑定不支持包含作为合并元素的直接子元素。例如,不支持以下布局:

<?xml version="1.0" encoding="utf-8"?> 
<layout
xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:bind="http://schemas.android.com/apk/res-auto">    <data>
       <variable name="user" type="com.example.User"/>    </data>    <merge><!-- Doesn't work -->
       <include layout="@layout/name"
           bind:user="@{user}"/>
       <include layout="@layout/contact"
           bind:user="@{user}"/>    </merge> 
</layout>
于 2019-11-04T13:16:18.650 回答