2

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

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

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

希望有人能给我一些指导。谢谢。

4

1 回答 1

3

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

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

于 2013-02-05T13:28:49.863 回答