DataBinding

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中

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容