我有一项服务,应该在主要活动被破坏后继续工作一段时间(2分钟)
我在Activity.onStop中取消绑定服务之前,但现在我将代码移动到ViewModel(以使我的生活更轻松)并注意到即使我切换到其他应用程序也不会调用MainActivity onDestroy。
一旦MainActivity没有被销毁,MainViewModel就会在后台长时间保持运行。
其他活动没有这样的问题,当我轻拍时它们会被破坏。
有没有办法让操作系统更频繁地杀死主要活动?
答案 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 ...
}