如果一个Android服务被杀死,服务产生的线程也会被杀死吗?

时间:2014-06-20 20:14:02

标签: android multithreading service

假设我实现了一个启动线程执行长时间运行操作的服务。 如果服务被杀死,它会自动杀死那些正在运行的线程吗?

感谢。

2 个答案:

答案 0 :(得分:1)

除非您在清单中另行指定,否则服务将在与您的应用相同的流程中运行。如果它被杀死(即崩溃),那么属于该进程的所有线程都将消失,但我不认为这就是你所要求的。如果服务以正常方式停止,则服务启动的线程不会自动终止,除非服务在另一个进程中运行,该进程也将终止。它可能不是。即使在其中运行的活动或服务已被停止和销毁之后,Android也倾向于保持流程。

答案 1 :(得分:1)

我发现这也是真的。 我想在后台服务(主UI流程)中使用一个线程。我希望在主要活动被杀死时服务被杀死,但是我发现即使活动和服务(stopSelf)已经停止/停止,我的线程也会继续运行。

我必须明确地杀死线程。我是通过调用yourThread.interrupt()来完成的。