Android-BroadCastReceiverAndroid-广播类型
接收系统和应用中的广播
是一种对广播进行过滤接收并响应的组件
静态注册是常驻型广播,就是说当应用程序被关闭后,如果有对应的广播发送过来,程序还是会被系统调用自动执行。
动态注册是非常驻型广播,它跟随Activity的生命周期,需要在生命周期结束的时候解除注册。
广播的生命周期从调用开始到onReceiver执行完毕结束。
需要注意的是,一般广播的生命周期都极短。所以,一般不进行耗时长的工作,如果有耗时长的工作,应当通过Intent传递给Service进行处理。
如果是在代码中动态注册的广播,如:在Activity注册,那么在Activity的onDestory中需要使用unregisterReceiver注销广播。
在Android中,广播的出现是为了组件间的通信。其实在Android中,进程间通信有Binder,而同进程的通信方式就更多了,之所以使用广播,发送者与接受者都不需要知道对方的存在,这样带来的好处便是,系统的各个组件可以松耦合地组织在一起,这样系统就具有高度的可扩展性,容易与其它系统进行集成。
Android中的广播使用了观察者模式:基于消息发布/订阅模式的事件驱动模型。