Android服务重启

时间:2011-07-12 13:06:43

标签: android service

我有一个远程服务。我有一个主要活动,在暂停时绑定onresume和unbinds。该服务发送广播,如onstart oncreate等活动。

出于某种原因,我的服务重新启动,所以它继续创建onstart命令(没有ondestroy),比如4分钟,然后突然间它就会稳定下来并且永远运行。

我试着抓住所有东西,什么都没有。我添加了一个log.d onlowmemory,也没有。

但这是一个奇怪的部分,只有当我的手机插入(调试)时才会发生。

2 个答案:

答案 0 :(得分:2)

如果只需要,系统可以终止任何服务或活动。你可以做两件事: 保持低 - 确保您的服务使用尽可能少的内存和CPU。 将您的服务标记为前景 - 查看documentation,例如如何执行此操作。它不能确保你的服务不会被杀死,而是在线上稍微改变一下,所以#1建议仍然是实际的。

答案 1 :(得分:0)

服务可以是“已启动”服务(在其中显式调用Context.startService()和Context.stopService())和/或“绑定”服务(其中您只调用Context.bindService()和服务的生命周期)由系统控制)。如果需要连接以与它们进行交互,您仍然可以在“已启动”服务上调用“bindService()”。

你提到你在第一段中绑定了服务,在第二段你说服务的onStartCommand()方法被调用。当您启动“已启动”服务时,onStartCommand()仅被称为

您在应用程序中如何/在哪里调用“startService()”?