美文网首页
Android广播基础概念

Android广播基础概念

作者: 我说的这句话是谎话 | 来源:发表于2019-10-17 08:52 被阅读0次

    定义

    广播:是一个全局的监听器

    分为两个角色:广播发送者、广播接收者

    作用

    监听/接收应用App发出的广播消息,并作出相应。

    应用场景

    • Android不同组件之间的通信(含应用内/不同应用之间)
    • 多线程通信(多进程通信?)
    • 与Android 系统在特定情况下的通信(系统广播?)

    实现原理

    使用设计模式中的 观察者模式:

    基于消息的发布/订阅 事件模型。

    注册方式

    • 静态注册

      AndroidManifest

    • 动态注册

      Context.registerReceiver()

    特别注意

    对于动态广播,有注册必须要有注销,否则会导致内存泄露。

    重复注册、重复注销也不允许

    广播的类型

    • 普通广播(Normal Broadcast)

      interfilter / action

    • 系统广播(System Broadcast)

    • 有序广播(Ordered Broadcast)

      发送出去的广播被广播接收者按照顺序接收

      • 特点
        1. 接收广播按顺序接收
        2. 先接收的广播接收者可以对广播进行截断,即后面接收的广播接收者不再接收到此广播
        3. 先接收的广播这可以对广播进行修改,即后面接收的广播接收者将接收到被修改后的广播
    • App应用内广播(Local Broadcast)

      • 应用场景
        1. 其他App针对性发出与当前App inter-filer 相匹配的广播,由此导致当前App不断接收广播并处理
        2. 其他App注册与当前App一致的inter-filer用于接收广播消息,会出现安全性&效率性的问题

      使用LocalBroadcastManager

    相关文章

      网友评论

          本文标题:Android广播基础概念

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