Android-databing原码分析

这两个xml文件的产生是由由于系统解析xml文件产生的


在onCreate方法中执行BataBingUtil.setContentView调用bingToAddedViews方法


找到getDataBinder的实现类DataBinderMapperImpl(),查看getDataBinger()方法

这一步就相当于又加载了一份xml文件中的各个属性和控件

这里走回了DataBinderMapperImpl实现类,在该实现类被类加载器加载时,执行静态代码块,代码块中包含了一个监听器,监听器里开启一个线程,并执行当中的runnable方法

找到executeBings()的实现,这里完成了对xml文件中,各个子节点的赋值操作

总结:解析xml文件产生两个xml文件,将xml文件读取到系统中,通知到一个监听器,监听器里开了一个线程,调用到线程中的方法executeBings(),在对应的字段进行赋值操作,完成整个数据更新的过程。

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

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,161评论 1 32
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,475评论 0 9
  • 多线程、特别是NSOperation 和 GCD 的内部原理。运行时机制的原理和运用场景。SDWebImage的原...
    LZM轮回阅读 2,045评论 0 12
  • 从上周开始练健美操。事实上原本名单上没有我,出于喜爱顶替了不想去的人。原本规定的练习时间就很少,再加上主要承办者没...
    君子待归阅读 203评论 5 4
  • 不少人爱喝红酒、咖啡、浓茶……但时间一久,很容易形成难看的牙渍,怎么都去不掉。 简东西君给你推荐,日本狮王洁牙效果...
    简东西阅读 4,540评论 0 9