0

我有一个长期运行的服务,它由应用程序的主要活动启动和停止,但是我也可以通过警报更新该服务。

我相信我在某处读到过,您在任何时候都只能运行一个服务实例,那么我可以从活动和警报恢复器启动服务吗?如果是这样,GC 是否会处理服务的旧实例,或者在第二次调用启动同一个实例时它们没有旧实例?

谢谢

4

1 回答 1

0

我假设您使用的是启动服务而不是绑定服务。当您第一次调用startService()时,服务被“创建”(即,onCreate())被调用。之后,任何时候调用startService()onStartCommand()都会调用 。

所以是的 - 服务的单个实例随时运行。您可以只startService()从 theActivity和 the调用,AlarmReceiver并且 Intent 将被传递到Service如果它已经创建;否则Service创建,然后Intent交付给它。

于 2012-06-04T10:22:45.330 回答