观察者(Observer)和生命周期观察者(LifecycleObserver)有什么区别?

3
我很难理解LiveData作为LifecycleObserver和LiveData对象在observe()方法中接收的Observer之间的区别。
我是否正确地说,LiveData是LifecycleObserver,因此它知道Activity吗?
而在observe()方法中接收到的Observer与LifecycleObserver无关,因为它只是在LiveData发生更改时执行onChange()方法的。
1个回答

0
我说的没错吧,LiveData是一个LifecycleObserver,因此它知道Activity的存在,对吗?
是的。
而且,在observe()方法中接收到的ObserverLifecycleObserver无关,因为它只是在LiveData发生更改时执行onChange()方法,对吗?
是的。
正如其名,LifecycleObserver 旨在跟踪其父级(ActivityFragment 或任何其他 LifecycleOwner)的生命周期变化,使 LiveData 具有生命周期感知能力。
另一方面,Observer 跟踪此 LiveData 对象的 value 更改。
所以你是正确的。 ObserverLifecycleObserver 没有任何关系。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接