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