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的几种方式