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

Android - Difference between Broadcast Receiver and Service

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

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

中的 SIGNAL

A Service 是一个应用程序组件,它执行一些长时间的 运行ning 操作,例如计算密集型计算或 Web 服务调用,而不需要 UI组件(或不需要 用户交互 )。即使前台 Activity 已被关闭,A Service 仍继续工作,并在完成工作后自行结束。

A Service 轮询,而 BroadcastReceiver 中断。两者在性质和目的上不同,因此不能互换。