START_STICKY到底做了什么?

时间:2014-08-17 07:02:30

标签: android

我对此感到有点困惑。如果我有一个服务,我在服务中创建一个线程来做后台工作,在内存限制的情况下,如果系统杀死服务,它是否会杀死服务和内部创建的线程或只有服务(我知道服务)本身在UI线程上运行)并且这个“START_STICKY”导致重新启动服务和线程或只是服务。如果只有服务重新启动,之前被杀死的线程没有线程继续我的后台作业。如果系统通过调用onCreate()重新启动服务,那么将创建另一个线程,这实际上是我不想要的。因为我在第一个线程中使用AlarmManager制定计划(终止线程不会更改AlarmManager sechedule),我不希望新线程使用AlarmManager制作另一个计划。 谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用onSaveInstanceState()来保存服务销毁时的线程状态,并且当服务重新启动时,savedInstance会传递给您的服务onCreate() }不会为空,并且会保存您保存的状态,在这种情况下,您不应该重新安排闹钟,并且应该从中断的地方继续。