接收暂停活动的 LiveData 回调

时间:2021-04-12 12:48:22

标签: android android-livedata android-lifecycle activity-lifecycle

我有 2 个活动 A 和 B。它们都侦听位于这 2 个活动之外的全局范围的 Livedata。当我从活动 A 导航到活动 B 时,这些是报告的生命周期事件。

  1. A -> 暂停

  2. B -> 已创建

  3. B -> 开始

  4. B -> 已恢复

  5. A -> 停止

我的问题是,在前 4 个步骤中的任何一个步骤中改变 LiveData 都会导致活动 A 仍然收到 LiveData 回调,即使用户已经在活动 B 上。

当 onPause 被调用时,我可以移除 Activity A 中的观察者,但我认为 LiveDatas 的整个想法是我不必移除观察者。

问题:一旦用户离开活动,我有哪些选择不接收活动 A 中的回调?

活动 A

 override fun onCreate(savedInstanceState: Bundle?) {
    Global.liveData.observe(this, Observer {
        doUiWork()
    })
 }

0 个答案:

没有答案
相关问题