Android - Broadcast机制
以下资料摘录整理自老罗的Android之旅博客,是对老罗的博客关于Android底层原理的一个抽象的知识概括总结(如有错误欢迎指出)(侵删):
http://blog.csdn.net/luoshengyang/article/details/8923485
http://blog.csdn.net/luoshengyang/article/details/12957169
整理by Doing
- 广播的接收者把广播接收器通过Binder进程间通信机制注册到ActivityManagerService中
- 广播的发送者同样是通过Binder进程间通信机制把广播发送到ActivityManagerService中,由ActivityManagerService去查找注册了这个广播的接收者,然后把广播分发给它们。分发的过程,其实就是把这个广播转换成一个消息,然后放入到接收器所在的线程消息队列中去,最后就可以在消息循环中调用接收器的onReceive函数了。这里有一个要非常注意的地方是,由于ActivityManagerService把这个广播放进接收器所在的线程消息队列后,就返回了,它不关心这个消息什么时候会被处理(对广播的处理是异步的,即调用sendBroadcast时,这个函数不会等待这个广播被处理完后才返回)。
- 广播发送者通过sendBroadcast把一个广播通过Binder进程间通信机制发送给ActivityManagerService,ActivityManagerService根据这个广播的Action类型找到相应的广播接收器,然后把这个广播放进自己的消息队列中去,就完成第一阶段对这个广播的异步分发了;
- ActivityManagerService在消息循环中处理这个广播,并通过Binder进程间通信机制把这个广播分发给注册的广播接收分发器ReceiverDispatcher,ReceiverDispatcher把这个广播放进MainActivity所在的线程的消息队列中去,就完成第二阶段对这个广播的异步分发了;
- ReceiverDispatcher的内部类Args在MainActivity所在的线程消息循环中处理这个广播,最终是将这个广播分发给所注册的BroadcastReceiver实例的onReceive函数进行处理。
转载于:https://www.cnblogs.com/Doing-what-I-love/p/5530380.html
Android - Broadcast机制相关推荐
- Android Broadcast广播机制分析
基于Android 6.0的源码剖析, 分析android广播的发送与接收流程. 一.概述 广播(Broadcast)机制用于进程/线程间通信,广播分为广播发送和广播接收两个过程,其中广播接收者Bro ...
- Android广播机制:Broadcast
转载:Android总结篇系列:Android广播机制 1.Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广 ...
- Android消息处理机制
Google参考了Windows的消息处理机制,在Android系统中实现了一套类似的消息处理机制.学习Android的消息处理机制,有几个概念(类)必须了解: 1. Message 消息 ...
- 理解Android安全机制
本文从Android系统架构着手,分析Android的安全机制以SE Android,最后给出一些Android安全现状和常见的安全解决方案. 1.Android系统架构 Android采用分层的系统 ...
- Android怎么保证广播安全,Android 广播机制安全性研究.PDF
Android 广播机制安全性研究 电信 科 学 2016 年第 10 期 专题 :基 于 Android 系统 的终端安全 Android 广播机制安全性研究 卿 斯汉 1, 2, 3 (1. 中国 ...
- 【Android】Android Broadcast源码解析
Android Broadcast源码解析 一.静态广播的注册 静态广播是通过PackageManagerService在启动的时候扫描已安装的应用去注册的. 在PackageManagerServi ...
- Android账户机制漏洞
Android账户机制漏洞 0x00前言 Android 2.0中加入了一个新的包android.accounts,该包主要包括了集中式的账户管理API,用以安全地存储和访问认证的令牌和密码,比如,我 ...
- Android 广播机制详解
一.广播的简介 首先,当我们一听到广播这个词时.就可以想到小学是教室的广播.不错Android中的广播机制与我们生活中的广播是有异曲同工之妙的.Android中的发送广播也就像广播室播广播,可以让很多 ...
- Android消息机制Handler用法
这篇文章介绍了Android消息机制Handler用法总结,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 1.简述 Handler消息机制主要包括: Messa ...
- 【腾讯Bugly干货分享】经典随机Crash之二:Android消息机制
为什么80%的码农都做不了架构师?>>> 本文作者:鲁可--腾讯SNG专项测试组 测试工程师 背景 承上经典随机Crash之一:线程安全 问题的模型 好几次灰度top1.top ...
最新文章
- 任务间通信的基本知识
- DataWorks搬站方案:Azkaban作业迁移至DataWorks
- 读写分离的适用场景(转载)
- 77种互联网盈利创新模式(3)
- React开发(249):react项目理解 ant design input loading
- oracle truncate 日期,【Oracle】truncate和delete区别
- 美国节日(求某天是星期几)
- linux filp open,内核模块中filp-open对文件的读写【转】
- 交通信息服务器图片,交通标志图片大全(图文解释)
- oracle sql查数据是否有重复
- 项目管理-1-忆往昔
- MMDet踩坑与使用体会
- python中写sql语句添加for循环和变量。(一种SQL引入循环的思想实现)
- 自动秘钥密码(Autokey)
- 解决p标签自动换行文字两端不对齐问题
- linux系统负载查看进程,Linux查看系统的负载
- java基于springboot的股票交易模拟系统
- GO与其它数据库见的id转换
- 408 计算机学,问一下 今年计算机考408的有哪些学校?
- 焊工考试多少分及格?焊工考试答题技巧分享