DataBinding

2020-07-27  本文已影响0人  Gambol_r

databinding 在编译阶段会将 xml文件拆分成两段:
activity_main.xml


activity_main.xml

会将每个控件添加一个tag。

activity_main-layout.xml


activity_main-layout

ActivityMainBindingImpl.java


ActivityMainBindingImpl.java

DataBinding内存开销大的原因
1.创建了数组去存储控件对象。


image.png

2.双向绑定创建了Runnable去监听控件的变化


image.png
3.只要Model的数据改变,就会去刷新View,handler会消耗大量内存
image.png

DataBinding的原理全部在ViewDataBinding.java中

上一篇下一篇

猜你喜欢

热点阅读