ViewModel很长时间没有清除

时间:2017-12-03 12:06:14

标签: android android-viewmodel

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

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

一旦MainActivity没有被销毁,MainViewModel就会在后台长时间保持运行。

其他活动没有这样的问题,当我轻拍时它们会被破坏。

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

1 个答案:

答案 0 :(得分: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 ...


}