从任务管理器杀死Android应用程序会杀死应用程序启动的服务



我的应用程序有一个活动,它启动两个服务但不绑定它们。如果我选择返回按钮退出应用程序(我在任务管理器中看不到它),则应用程序启动的两个服务都会继续运行。但是,如果我转到任务管理器并杀死应用程序,则两个服务都将停止。我不确定这是否是预期的行为,但我希望即使在应用程序退出后服务也能继续运行。请有任何想法。

谢谢

这是

任务管理器的预期行为(并在管理应用程序中强制停止)。如果应用程序停止运行应用程序正在执行的后台工作,它将有什么好处?

您无法阻止用户在库存版本的Android操作系统上终止您的服务

这是预期的行为。服务不在其自己的进程中运行。当你的应用程序被杀死时,你的整个过程也会随之死亡。

在我附加的文档中,有一个橙色块(不幸的是,我认为我无法链接到它:-( )简而言之,这将告诉您服务是什么。

我不确定!但是你应该尝试一下

如前所述,这是预期行为。终止启动服务的应用程序也应该杀死正在运行的服务。如果要在应用被终止时保持服务运行,则应在单独的进程中启动服务,可以通过清单中的以下声明来实现:

<service
    android:name=".ServiceClassName"
    android:process=":yourappname_background" >
    ...

参考: https://stackoverflow.com/a/15474347/1150795

请注意,通常应用程序不会被杀死,直到用户从任务/应用程序管理器中明确杀死它,或者系统由于资源有限、电池电量不足或类似原因而杀死它。我不确定处理这些事情是否是典型的用例,以及您是否真的需要关心这一点。

相关内容

最新更新