服务正在崩溃Galaxy nexus而不是模拟器

时间:2012-07-11 12:36:16

标签: android service

我的服务出现了一个奇怪的问题。它在ICS仿真器上正常且完美地工作。但是当我使用ICS 4.0.4在Galaxy Nexus上启动它时,我观察到服务的奇怪崩溃而没有任何堆栈跟踪。以下是我得到的所有内容:

07-11 16:26:37.758: INFO/ActivityManager(136): Process com.test.service (pid 3899) has died.
07-11 16:26:37.758: WARN/ActivityManager(136): Scheduling restart of crashed service com.test.service/.MyService in 20000ms

我用谷歌搜索但发现不知道。可能它与内存压力有某种联系?我期待做什么?

UPD

P.S。如果有任何意义,我从onStartCommand()启动后台线程,这个线程无限运行。

P.P.S。我试图在单独的过程中启动服务而没有运气。

1 个答案:

答案 0 :(得分:1)

我的理解是,系统偶尔会删除/杀死当时认为不必要的进程。但是,如果onStartCommand返回START_STICKY,它将在它被杀死后立即重新启动...我没有看到杀死此类进程的重点,但我想它可以在极端情况下帮助。模拟器的行为可能会有所不同。

假设您的服务 实际崩溃 (logcat中应该存在某种堆栈跟踪),以防止系统轻易地杀死服务,它必须以foreground服务启动。