MVVM框架实现了数据与视图的绑定(DataBinding),当数据变化时,视图会自动更新;反之,当视图变化时,数据会自动更新。
DataBinding使用步骤:
-
启用DataBinding
-
修改布局文件为DataBinding布局
-
数据绑定
使用MVVM框架步骤:
-
提供View、ViewModel以及Model三层
-
将布局修改为DataBinding布局
-
View与ViewMedel之间通过DataBinding进行通信
-
获取数据并展示在界面上
MVVM的优点
-
双向绑定技术,当Model变化时,View-Model会自动更新,View也会自动变化,能很好的做到数据一致性。
-
View的功能进一步的强化,具有控制的部分功能。
-
UI和逻辑的开发解耦。
MVVM的缺点
-
数据绑定使得 Bug 不易调试,也会使得一个位置的 Bug 被快速传递到别的位置。
-
虽然使用Model方便了保证数据一致性,但是大的模块中长期不释放内存就会造成花费更多的内存。
-
数据双向绑定不利于View部分的代码复用。
再更深层次学习,可以使用LiveData+Vi