DataBinding简解

0、相关文章:

文章1:Android从零开始搭建MVVM架构(1)————DataBinding

文章2:Android之DataBinding详解

文章3:databinding(系列文章5篇)

文章4:Android Data binding官方指南

1、DataBinding的优劣势

1.1、优势

DataBinding 出现以前,我们在实现 UI 界面时,不可避免的编写大量的毫无营养的代码:比如 View.findViewById();比如各种更新 View 属性的 setter:setText(),setVisibility(),setEnabled() 或者 setOnClickListener() 等等。

这些“垃圾代码”数量越多,越容易滋生 bug。使用 DataBinding,我们可以避免书写这些“垃圾代码”。

1.2、劣势

  • 数据绑定增加Bug调试难度。由于数据和视图的双向绑定,导致出现问题时不太好定位来源,有可能数据问题导致,也有可能业务逻辑中对视图属性的修改导致。
  • 复杂的页面,model也会很大,虽然使用方便了也很容易保证了数据的一致性,当时长期持有,不利于释放内存。
  • 数据双向绑定不利于View重用。
  • 会增加编译出的 apk 文件的类数量和方法数量。

新建一个空的工程,统计打开 build.gradle 中 Data Binding 开关前后的 apk 文件中类数量和方法数量,类增加了 120+,方法数增加了 9k+(开启混淆后该数量减少为 3k+)。
如果工程对方法数量很敏感的话,请慎重使用 Data Binding。

基于DataBinding的缺点,实现MVVM可以采用ViewModel + LiveData 替代实现。

2、使用

可参考文章1.

DataBinding简解_第1张图片

 

 

 

 

 

你可能感兴趣的:(Android:架构(MVP,MVVM))