美文网首页
Broadcast receiver面试详解

Broadcast receiver面试详解

作者: 萝卜枣 | 来源:发表于2018-04-20 08:42 被阅读0次

1、定义
在Android中,Broadcast是一种 广泛运用在应用程序之间传输信息的机制,Android中我们要发送的广播内容是一个Intent,这个Intent中可以携带我们要传送的数据。

2、使用场景
1)同一app具有多个进程的不同组件之间的消息通信
2)不同app之间的组件之间消息通信

3、实现广播
1)静态注册:
注册完成就一直运行
2)动态注册:
跟随activity的生命周期(记得在ondestroy中unregist)

4、内部实现机制
1)自定义BroadcastReceiver,并复写onReceiver()方法;
2)通过Binder机制向AMS进行注册;
3)广播发送者通过Binder机制向AMS发送广播;
4)AMS查找符合相应条件(IntentFilter/Permission等)的BroadcastReceiver,将广播发送到BroadcastReceiver(一般情况下是Activity)相应的消息循环队列中;
5)消息循环执行拿到此广播,回调BroadcastReceiver中的onReceiver()方法。

5、LocalBroadcastManager详解
1)使用它发送的广播只在自身App内传播,因此你不必担心泄露隐私数据;
2)其他App无法对你的App发送该广播,因为你的App根本就不可能接收到非自身应用发送的该广播,因此你不必担心有安全漏洞可以利用;
3)比系统的全局广播更加高效。
a. LocalBroadcastManager高效的原因主要是因为它内部是通过Handler实现的,它的sendBroadcast()方法含义并非和我们平时所用的一样,它的sendBroadcast()方法其实是通过handler发送一个Message实现的。
b. 既然是它内部通过Handler来实现广播发送的,那么相比与系统广播通过Binder实现那肯定是更高效了,同时使用Handler来实现,别的应用无法向我们的应用发送该广播,而我们应用内发送的广播也不会离开我们的应用
c. LocalBroadcastManager内部协作主要是靠这两个Map集合:mReceivers和mActions,当然还有一个List集合mPendingBroadcasts,这个主要就是存储待接收的广播对象。

相关文章

  • Broadcast Receiver面试详解

    一.广播 1.定义 在android中,broadcast是一种广泛运用在应用程序之间传输信息的机制,andr...

  • Broadcast receiver面试详解

    1、定义在Android中,Broadcast是一种 广泛运用在应用程序之间传输信息的机制,Android中我们要...

  • Broadcast Receiver面试详解

    一.广播 1.广播定义 在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制,And...

  • Broadcast Receiver 面试详解

    一、广播 1、广播的定义 BroadcastReceiver,中文直译为“广播接收者”,在Android 系统中,...

  • Broadcast Receiver详解

    一、广播 1.广播的定义 应用程序之间(不同程序) 传输信息的机制 (有点类似观察者模式),android中我们要...

  • BroadCast Receiver 详解

    这里是引用,本文主要是《第一行代码》阅读笔记!由于刚开始学习Android,所以肯定有很多见解不成熟。希望看到的人...

  • 2018-01-13广播机制 梳理

    Broadcast receiver详解 1:广播定义 Broadcast是应用程序之间传递信息的机制,通过int...

  • Android Broadcast Receiver详解

    1、Broadcast Receiver简介 广播是一种广泛运用在应用程序之间传输信息的机制,而Broadcast...

  • Android BroadcastReceiver详解

    Broadcast Receiver是什么 Broadcast Receiver是四大组件之一,是一种广泛运用在应...

  • Android面试相关 - Broadcast Receiver

    1.广播有几种形式 ? 都有什么特点 普通广播:开发者自身定义 intent的广播(最常用),所有的广播接收器几乎...

网友评论

      本文标题:Broadcast receiver面试详解

      本文链接:https://www.haomeiwen.com/subject/bxoqcftx.html