Android - 广播接收器和服务之间的区别

时间:2015-02-28 17:33:10

标签: android android-intent broadcastreceiver android-service android-broadcast

我想知道,在清单中静态注册广播接收器和启动服务之间会有什么区别?即使应用程序处于后台,两者都会运行,在我看来接收器的编码要简单得多。我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:5)

BroadcastReceiver是一个应用程序组件,用于对系统范围的应用程序间广播做出反应,例如BOOT_COMPLETEDWIFI_STATE_CHANGED。不应使用BroadcastReceiver来运行AsyncTask或执行其他此类操作;在这种情况下,它会启动Service。当手机上发生其他事件时,广播用于唤醒应用。它类似于微处理器中的中断或Linux中的SIGNAL

Service是一个应用程序组件,它执行一些长时间运行的操作,例如计算密集型计算或Web服务调用,而不需要UI组件(或者不需要用户交互< / em>的)。即使前景Service被解除,Activity也会继续工作,并在完成工作后自行结束。

Service 民意调查,而BroadcastReceiver中断。这两者在性质和目的上是不同的,因此可互换。