databinding 在编译阶段会将 xml文件拆分成两段:
activity_main.xml
会将每个控件添加一个tag。
activity_main-layout.xml
ActivityMainBindingImpl.java
DataBinding内存开销大的原因
1.创建了数组去存储控件对象。
2.双向绑定创建了Runnable去监听控件的变化
3.只要Model的数据改变,就会去刷新View,handler会消耗大量内存
DataBinding的原理全部在ViewDataBinding.java中