LiveData与 ObservableField的区别

Posted potato-eater

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LiveData与 ObservableField的区别相关的知识,希望对你有一定的参考价值。

前面讲到使用ViewModel+Data Binding解决内存泄漏问题时用到了ObservableInt来实现双向绑定,即UI可以监控ObservableInt,ViewModel也能控制ObservableInt的值,复杂一点的数据我们可以用ObservableField,但其实还有更好的解决办法,即LiveData,它不仅可以实现与ObservableField相同的功能,而且有以下好处

  • ObservableField只有在数据发生改变时UI才会收到通知,而LiveData不同,只要你postValue或者setValue,UI都会收到通知,不管数据有无变化
  • LiveData能感知Activity的生命周期,在Activity不活动的时候不会触发,例如一个Activity不在任务栈顶部

以上是关于LiveData与 ObservableField的区别的主要内容,如果未能解决你的问题,请参考以下文章

ObservableField和MutableLiveData

无法通过 ObservableField<String> 使用双向数据绑定

Flutter开发 - 使用GetX框架实现类似MVVM架构

android jectpack DataBinding 数据绑定 改变ui的几种方式

android jectpack DataBinding 数据绑定 改变ui的几种方式

JetPack架构---LiveData的使用与示例