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:属性说明

Android四大组件之BroadcastReceiver(二)_第1张图片

c:注册示例


Android四大组件之BroadcastReceiver(二)_第2张图片

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

2.2动态注册

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

b:具体代码如下:


Android四大组件之BroadcastReceiver(二)_第3张图片

特别注意

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

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

两种注册方式的区别

Android四大组件之BroadcastReceiver(二)_第4张图片

你可能感兴趣的:(Android四大组件之BroadcastReceiver(二))