Android数据绑定与findViewById的性能

时间:2016-01-11 01:24:35

标签: android data-binding

我意识到MVVM的android数据绑定的潜力很大,它打开了大门。但是关于性能,数据绑定是否比在原生android中使用findViewById更快?

2 个答案:

答案 0 :(得分:9)

在我看来,docs

的速度更快
  
    

带ID的视图

  
     

将为每个视图生成一个公共最终字段,其中包含ID   布局。绑定在View层次结构上执行单个传递,   使用ID提取视图。这种机制可以比快   为几个视图调用findViewById。

所以似乎数据绑定只需要在视图层次结构上进行一次传递,而不是总是调用findViewById。

答案 1 :(得分:1)

与findViewById和setText相比,数据绑定确实更快。 不仅性能出色,而且对于中等规模的项目而言,它也更快,更易于维护。附带说明一下,好处包括:

  • 性能
  • 从ui提取逻辑
  • 使用livedata最小化代码
  • 可测试性
  • 可读性
  • 在视图为null时避免使用空指针异常(我喜欢此功能)
  • xml中的自定义属性声明
  • 同时更新多个属性
简而言之,数据绑定是一个非常酷的功能。 要了解这些功能,您可以在此处访问代码实验室: https://codelabs.developers.google.com/codelabs/android-databinding/#0