2012-03-23 29 views
0

我有一个Activity应用程序启动服务并绑定到它。 即使退出活动后,我仍希望服务继续运行。unbindService与stopService

现在我正在做一个stopService然后一个unbindService。我的假设是,我确实需要解除绑定,但保持运行我不应该(显然)调用stopService,对吧?

我只是想知道适合长期服务的服务管理技巧。

回答

0

这可以从服务文档回答:

注意,如果停止服务仍具有绑定到它与BIND_AUTO_CREATE集ServiceConnection对象,它不会被直到所有这些绑定被删除销毁。有关服务生命周期的更多详细信息,请参阅服务文档。

要清理您的服务,最好将其解除绑定。您可以随时使用另一个使用Context.startService()的意图重新启动它。取决于你如何使用它,最好先启动服务一段时间,做一些事情,停止它(你甚至可以使用一个调用stopSelf来做到这一点),然后当你有更多的工作时重新启动它做 - 或者得到另一个意图。了解。

+0

了解。当活动结束时,我看到解除绑定的原因。但是,如果我不停止服务,服务仍会继续运行,即使退出后,对不对? – LiteWait 2012-03-23 16:36:33

+0

如果你没有做任何工作,那应该没有关系,它会一直活着,直到系统自然杀死它。这与在你的活动中发生的事情没有什么不同,因为他们坐在应用程序堆栈中,无论如何... – 2012-03-23 16:44:27

+0

我实际上正在服务中工作。我正在收听主页按钮并获取GPS修正。如果我不需要它,我当然会停下来。被“解除绑定”的点解除了来自服务的活动,但是停止服务会将其终止。事实上,我想知道为什么我甚至需要绑定它。 – LiteWait 2012-03-23 18:18:40

相关问题