0

我有一项服务应该在主要活动被破坏后继续工作一段时间(2 分钟)

在我在 Activity.onStop 中取消绑定服务之前,但现在我将代码移动到 ViewModel(以使我的生活更轻松)并注意到即使我切换到其他应用程序也不会调用 MainActivity onDestroy。

只要 MainActivity 没有被销毁,MainViewModel 就会在后台运行很长一段时间。

其他活动没有这样的问题,当我点击背部时它们会被破坏。

有没有办法让操作系统更频繁地杀死主要活动?

4

1 回答 1

1

您可以实现LifecycleObsever接口以使您的 ViewModel 生命周期感知。像这样:

public class ConfirmDetailsViewModel extends LifecycleObserver {

    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
    void onPause() {
        // handle on pause senario
    }
    @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
    void onDestroy() {
        // handle on destroy senario
    }
    // and so on ...


}
于 2017-12-03T12:15:58.693 回答