OS机制_Android广播机制
2016-12-15 09:45:07 0 举报
Android广播机制是一种基于发布-订阅模式的消息传递方式,用于在不同组件之间进行通信。它允许应用程序在不需要直接调用其他组件的情况下,向其他组件发送消息或接收消息。广播机制主要包括两种类型:系统广播和自定义广播。系统广播是由系统自动发送的,如网络状态变化、电池电量变化等;自定义广播是由应用程序自己发送的,如应用启动、接收到短信等。通过注册广播接收器,应用程序可以监听并处理这些广播事件。广播机制具有高效、灵活的特点,但需要注意避免滥用,以免影响系统性能和用户体验。
作者其他创作
大纲/内容
ReceiverDispatcherperformReceive
注册广播结束
mFgBroadcastQueue
Sticky广播选主队列
找出对应Receivers
发送广播开始
接收并行广播结束
ActivityManagerbroadcastIntent
发送广播返回
BroadcastQueueprocessCurBroadcastLocked
Application-A
ActivityManagerServiceregisterReceiver
取消超时器
mBgBroadcastQueue
找出对应Sticky广播
状态检查
ActivityManagerServicefinishReceiver
权限检查
接收串行广播结束
flag
Author: 甘津瑞Email: jinrui.gan@aispeech.comCO.: AISpeech
ActivityThread.HhandleReceiver
直接调用
BroadcastQueueprocessNextBroadcast
BroadcastReceiversendFinished
BroadcastReceiveronReceive
mReceiverResolver
IntentprepareToLeaveProcess
队列操作
ActivityThreadscheduleReceiver
receivers.get(i).receiverList.app.threadscheduleRegisteredReceiver
ActivityManagerService
创建ReceiverDispatcher
Sticky广播入子队列
ActivityThreadscheduleRegisteredReceiver
mParallelBroadcasts
发送处理广播通知BROADCAST_INTENT_MSG
ActivityManagerregisterReceiver
Application-B
ActivityManagerServicebroadcastIntent
mOrderedBroadcasts
合法性检查
异步调用
检查广播总超时
处理串行广播队列
synchronized
设置超时器
注册广播开始
缓存Receiver
mStickyBroadcasts
选择广播主队列
广播Record入子队列
循环处理并行广播队列
检查广播回调
异步处理广播队列
ActivityThread.HArgs.run
ActivityManagerServicebroadcastIntentLocked
ContextregisterReceiver
广播发送/注册/接收流程
发送串行广播回调结束
callerApp.threadscheduleRegisteredReceiver
ActivityThread.handleArgs.run
receivers.get(i).receiverList.app.threadscheduleReceiver
ContextsendBroadcast
ordered
处理特殊性广播
异步发送消息通知H.RECEIVER
bind调用
缓存sticky广播
0 条评论
下一页
为你推荐
查看更多