恢复时的服务状态

时间:2011-05-31 18:21:18

标签: android service lifecycle

给定一个从onStartCommand返回START_STICKY的服务:

1)文档提到杀死服务,据我所知,这不是通过调用Content.stopService完成的,而是由系统完成的,如果它需要资源(或者我的服务也可能会崩溃)实际上是一样的 - 没有干净的关机??

2)我如何模拟1)中提到的杀戮?杀戮可能与使用设置中的应用程序菜单停止(停止!=杀死?)服务不同,所以我不能使用此菜单进行测试?

3)如果我的服务被杀死然后重新启动,根据文档,似乎只调用onStartCommand,而不是onCreate。所以我得出结论,在我的服务被杀之前,我的服务变量是持久的吗?或者为什么onCreate不会被拼写?或者可能呢?

我的目标是确保我的服务在被杀死并重新启动时仍然可靠。感谢任何提示: - )

2 个答案:

答案 0 :(得分:1)

杀戮意味着它的过程被内存杀手杀死。您可以从adb shell模拟这个 - 使用“ps”查找应用程序的进程,并使用找到的pid“kill”来杀死它。系统将在几秒钟后重新启动流程和服务。

如果您只收到onStartCommand(),那么您的服务和流程已经在运行,无需重新创建。

答案 1 :(得分:0)

我遇到了同样的问题,并且想知道发生了什么。

在阅读引用的帖子后,我只是将我的代码从onStartCommand(..)移到了onCreate(..),它按预期工作。