Android上的服务创建有多贵?

时间:2013-01-27 16:52:46

标签: android service

我有一个爱好应用程序(闹钟),其中我有很多短期服务。当广播内部意图时,所有这些服务都由BroadcastReceiver启动。其中许多服务都以相同的意图作出反应,例如,当警报触发时,VibrationServiceKlaxonServiceFlashLightService都已启动。还有一些其他服务和接收器也做少量的工作。在过去,一切都很好。最近,服务的数量增加了,当广播“流行”意图时,我开始注意到相当大的滞后。

我的所有服务都不会导出并在主线程上运行。

现在我的问题是,创建/销毁服务的成本有多高?是否有意义使用一个“HostService”并在那里完成所有工作(在我的情况下,它将取代4-5服务)?

1 个答案:

答案 0 :(得分:1)

创建短期服务的最简单方法是使用IntentService而不是完全成熟的服务。它们在自己的线程上运行,并在处理完所有排队的意图后终止。

根据您的服务名称判断,您还应该查看通知管理器。这可以支持您的大部分工作量,而无需单独的服务。