广播机制是基于消息发布和订阅的事件驱动模型,即广播发送者负责发布消息,接收者须要先订阅消息,最后才能接受到消息。ui
二、Activity组件在注册一个广播接收者的时候,并非真正的将广播接收者注册到ActivityManagerService中,而是将与它关联的一个InnerRecentlyiverduixaing注册到ActivityManagerService中,档ActivityManagerService接收到一个广播的时候,它就会根据这个广播的类型在内部找到对ing的InnerReceiver对象,而后经过这个InnerReceiver 对象将这个官博发送给对应的广播接收者处理,spa
三、广播的发送过程:线程
3。一、 一个Service或者Activity组件,将一个广播发送给ActivityManagerService.
对象
3.2 、ActivityManagerService接受到一个广播以后,首先找到这个广播的广播接收者,而后添加到广播调度队列中,最后向ActivityManagerService所运行的线程的消息队列发送一个类型BROADCAST_INTENT_MSG的消息,这个时候对广播发送者来讲,一个广播发送就结束了队列
3.3 当发送到ActivityManagerService的小城的消息队列中,当BROADCAST_INTENT_MSG被处理的时候,ActivityManagerService就会从广播调度队列中找到须要接受广播的广播接收者,而且将对应的广播发送给他们所运行在的应用程序进程中。进程
3.4 广播接收者所运行在的应用程序进程收到ActivityManagerService发送的广播以后,并非直接将接收到的广播分发给广播接收者来处理,而是将接收到的广播封装成一个消息。而且发送到主线程的消息队列中,档这个消息被处理的时候,应用程序进程才会将他所买哦书的广播发送给相应的广播接收者处理。事件