将线程执行绑定到前台服务

时间:2013-02-05 13:22:47

标签: android multithreading android-service

我想在后台线程中执行一些相当短的任务。但是,这项任务非常敏感,必须尽可能可靠。

我的第一个想法是使用(再次短生活)前台服务。我启动服务,在一个单独的线程中执行任务,并在完成后停止它。声音简单,类似于robospice正在做的事情,但是Service的文档没有说明杀死线程的任何内容。由于服务本身只是一个对象而不是一个线程,我怎么想“告诉”系统某个线程属于该服务并且不应该被杀死?

  • 仅仅在我的服务对象中保存对Thread对象的引用就足够了吗?
  • 我应该使用HandlerThread并持有对looper的引用吗? (与IntentService一样)
  • 我是否还要扩展Thread类并绑定到服务? :)

希望有人可以给我一些指示。 感谢。

1 个答案:

答案 0 :(得分:3)

线程仅在整个过程中被杀死。 Android无法杀死任何心室线程。 Android可以杀死整个进程及其所有线程。所以你不应该让android杀死你的应用程序,你的所有线程都会活着。

Android如果有前台活动或服务,或者有足够的资源让您的应用保持活跃状态​​,则不会杀死您的应用。