前面讲到使用ViewModel+Data Binding解决内存泄漏问题时用到了ObservableInt/ObservableField,但其实还可以使用LiveData,它不仅可以实现与ObservableField相同的功能,而且有以下好处
- ObservableField只有在数据发生改变时UI才会收到通知,而LiveData不同,只要你postValue或者setValue,UI都会收到通知,不管数据有无变化
- LiveData能感知Activity的生命周期,在Activity不活动的时候不会触发,例如一个Activity不在任务栈顶部
转自:
LiveData与 ObservableField的区别 - 简书
https://www.jianshu.com/p/156fe3f4d078