Android 如何在LiveData中惰性地计算转换?

Android 如何在LiveData中惰性地计算转换?,android,Android,据博士说 除非观察者正在观察返回的LiveData对象,否则不会计算转换。因为转换是惰性计算的,因此与生命周期相关的行为会隐式传递,而不需要额外的显式调用或依赖项 但是我们没有向任何LifeCycleOwner传递与LiveData中的observe方法不同的switchmap或map方法。那么如何不计算转换呢?请参见MediatorLiveData源代码-它将解释我查看源代码的所有内容,并试图弄清楚hasActiveObservers()方法是如何工作的。感谢Guidence.addSourc

据博士说

除非观察者正在观察返回的LiveData对象,否则不会计算转换。因为转换是惰性计算的,因此与生命周期相关的行为会隐式传递,而不需要额外的显式调用或依赖项


但是我们没有向任何LifeCycleOwner传递与LiveData中的observe方法不同的switchmap或map方法。那么如何不计算转换呢?

请参见
MediatorLiveData
源代码-它将解释我查看源代码的所有内容,并试图弄清楚hasActiveObservers()方法是如何工作的。感谢Guidence.addSource方法,如果它有活动的observer,它将永远观察,但我不知道HasActiveObserver()是如何工作的@pskinksee
LiveData.java
then@pskink不,事实上,在LiveData中有更多我不知道的未知类,所以我无法清楚地了解它。也许随着时间的推移我会得到它。