Android四大组件之BroadcastReceiver(二)

1.广播是什么

1.1定义:

即 广播,是一个全局的监听器,属于Android四大组件之一。Android广播分为两个角色:广播发送者和广播接受者

1.2广播的作用

监听 / 接收 应用 App 发出的广播消息,并 做出响应

1.3广播的应用场景

a.同一app内有多个进程的不同组件之间的消息通信。

b.不同app之间的组件之间消息的通信。

1.4广播的类型

广播的类型主要分为5类:

普通广播(Normal Broadcast)

系统广播(System Broadcast)

有序广播(Ordered Broadcast)

粘性广播(Sticky Broadcast)

App应用内广播(Local Broadcast)

1.5实现原理

Android中的广播使用了设计模式中的观察者模式:基于消息的发布 / 订阅事件模型。因此,Android将广播的发送者 和 接收者 解耦,使得系统方便集成,更易扩展。

2.广播接收器注册

注册的方式分为两种:静态注册、动态注册

2.1静态注册

a:注册方式:在AndroidManifest.xml里通过<receive>标签声明

b:属性说明

c:注册示例


App首次启动时,系统会自动实例化mBroadcastReceiver类,并注册到系统中。

2.2动态注册

a:注册方式:在代码中调用Context.registerReceiver()方法

b:具体代码如下:


特别注意

动态广播最好在Activity 的 onResume()注册、onPause()注销。

原因:对于动态广播,有注册就必然得有注销,否则会导致内存泄露

两种注册方式的区别

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容