【问题标题】:What are the use-cases for view-binding and data-binding?视图绑定和数据绑定的用例是什么?
【发布时间】:2020-03-24 04:16:12
【问题描述】:
今年年初(2019 年),Google 推出了 view-binding,这是一项新功能,可以将 UI 组件平滑绑定到数据源,就像 data-binding 一样。
我浏览了视图绑定的文档,但在用例方面我找不到视图绑定和广为人知的数据绑定之间的任何区别;他们似乎做同样的事情。
它们有单独的用例吗?线画在哪里?是否引入了视图绑定以便弃用数据绑定?
PS:
在起草这个问题时,我试图确保我没有提出基于意见的问题。我只想了解这两个库的用例。
【问题讨论】:
标签:
android
android-databinding
android-viewbinding
【解决方案1】:
就它们的工作方式而言,它们之间的主要区别在于速度。
ViewBinding API 比 DataBinding 库快得多,因为 viewBinding 不涉及下面的注释处理。这是视图绑定相对于数据绑定的主要优势,也是它被认为更高效的原因。
然而,视图绑定的一个主要缺点是它不支持绑定表达式(目前)。
线画在哪里?
由于速度/效率的差异,视图绑定优先于数据绑定对于大型项目。构建时间将是最佳的,因为没有在后台进行注释处理。
是否引入了视图绑定以便可以弃用数据绑定?
坦率地说,目前还不清楚。但此时,它们是两个互斥的库。
这里是an article,它更清楚地说明了相同点和不同点。