BroadcastReceiver或Service for long background ops?

时间:2012-07-02 08:15:07

标签: android android-service

我正在开发一个定期从服务器获取数据的应用。现在我正在使用ScheduledThreadPoolExector,但我觉得还不够干净,所以我决定使用AlarmManager创建周期性任务。

哪个更适合此任务:BroadcastReceiver或Service?我已经读过其中一个有10秒的限制,或两者都有这个限制吗?

1 个答案:

答案 0 :(得分:1)

事实上,BroadcastReceiver只能活10秒。服务可以延长寿命(取决于Android操作系统是否需要资源,它可以杀死您的应用)。

您的服务可以是“普通”服务或IntentService(在没有更多可用于处理的Intent之后会自动终止)。 我推荐一个IntentService。

您可以创建一个将由IntentService接收的Intent,并将此Intent添加到AlarmManager。