LiveData与 ObservableField的区别

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

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

猜你喜欢

转载自www.cnblogs.com/Potato-Eater/p/9589249.html