繁体   English   中英

服务在银河系连接上崩溃,但不是在模拟器上崩溃

[英]Service is crashing on galaxy nexus but not the emulator

我在服务方面遇到了一个奇怪的问题。 它可以在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

PS如果有任何意义,我可以从onStartCommand()启动一个后台线程,并且该线程可以无限工作。

PPS我尝试在单独的过程中启动服务,但是没有运气。

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

假设您的服务实际上并没有崩溃 (logcat中应该有某种堆栈跟踪),为防止系统如此轻易地终止该服务,必须将其作为前台服务启动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM