2

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

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

4

1 回答 1

2

事实上,BroadcastReceiver 只能存活 10 秒。服务可以活得更久(取决于 Android 操作系统是否需要资源,它可以杀死你的应用程序)。

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

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

于 2012-07-02T08:22:11.593 回答