服务的子进程可以被杀死吗?

时间:2011-07-17 00:32:46

标签: android

如果我有运行的前台服务产生一个线程,那么这个子线程是否会被Android操作系统杀死?或者那个子线程也像服务一样受到保护?为了防止子线程被杀死,我是否需要将其置于自己的服务中?

谢谢, 尼克

2 个答案:

答案 0 :(得分:0)

您的服务是一个组件。您表明它是“前台服务”,表示您已调用startForeground()。只要你不停止它,前台服务将倾向于保持进程 - 以及它的扩展线程 - 免于终止,但这不是保证。

Android 从不终止您分叉的线程,除非终止整个过程。

答案 1 :(得分:0)

如果启动它的服务被终止,则由服务启动的AsyncTask以及普通线程不会被杀死。换句话说,您应该在服务被杀死时清理线程。

查看服务的生命周期:http://developer.android.com/reference/android/app/Service.html#ServiceLifecycle

您可能需要考虑使用IntentService:

  

IntentService是处理异步的Services的基类   请求(表示为意图)。

相关问题