MVVM.DataBinding学习总结

来源:互联网 发布:json格式转换工具下载 编辑:程序博客网 时间:2024/05/21 08:40

DataBinding:

  1. 只需要遍历一次ViewTree,自动生成的Binding类在构造函数中一一赋值;
  2. notifyChanged到对应的ViewDataBinding中执行excuteBinding(),有mDirtyFlag标志,不需要全部更新;
  3. xml中的函数不能直接使用String,可以在string.xml中定义;
  4. RecyclerView onBindViewHolder直接把json set进ViewModel中;

MVVM:

主要说下其中的VM吧,看了几篇关于MVVM的博客,都说ViewModel就是POJO类。
其实不管是Activity还是Fragment(之后简称A&F),或多或少多要承担一些与Model层的交互(接口请求……),A&F的指责不单单局限于View层,还是View和ViewModel之间的交互链,所以笔者认为,MVVM的正确名称应该是MVP+DataBinding

建议:
用过MVVM的都知道,报错不太明显,特别是在大型项目中。个人推荐用MVP+ButterKnife来代替MVVM