以U之前版本的parallel广播为例
// 应用进程
android.content.ContextWrapper.sendBroadcast::Intent:
android.content.Context.sendBroadcast::Intent:
android.app.ContextImpl.sendBroadcast::Intent:
// binder 到system server进程
com.android.server.am.ActivityManagerService.broadcastIntentWithFeature::IApplicationThread,String,Intent,String,IIntentReceiver,int,String,Bundle,String[],String[],String[],int,Bundle,boolean,boolean,int:
com.android.server.am.ActivityManagerService.broadcastIntentLocked::ProcessRecord,String,String,Intent,String,ProcessRecord,IIntentReceiver,int,String,Bundle,String[],String[],String[],int,Bundle,boolean,boolean,int,int,int,int,int,BackgroundStartPrivileges,int[],BiFunction:
com.android.server.am.ActivityManagerService.broadcastIntentLockedTraced::ProcessRecord,String,String,Intent,String,ProcessRecord,IIntentReceiver,int,String,Bundle,String[],String[],String[],int,BroadcastOptions,boolean,boolean,int,int,int,int,int,BackgroundStartPrivileges,int[],BiFunction:
com.android.server.am.BroadcastQueue.enqueueBroadcastLocked::BroadcastRecord:
// 从这里开始,安卓U和U之前的代码出现不一样,这里只记录U之前的版本
com.android.server.am.BroadcastQueueImpl.enqueueBroadcastLocked::BroadcastRecord:
com.android.server.am.BroadcastQueueImpl.enqueueParallelBroadcastLocked::BroadcastRecord:
// 广播存在了这个变量里
//com.android.server.am.BroadcastQueueImpl.mParallelBroadcasts
// 广播入队后,发handler消息处理广播
com.android.server.am.BroadcastQueueImpl.enqueueBroadcastLocked::BroadcastRecord:
com.android.server.am.BroadcastQueueImpl.scheduleBroadcastsLocked:::
android.os.Handler.sendMessage::Message:
// handler 到主线程
// com.android.server.am.BroadcastQueueImpl.BROADCAST_INTENT_MSG
com.android.server.am.BroadcastQueueImpl.BroadcastHandler.handleMessage::Message:
com.android.server.am.BroadcastQueueImpl.processNextBroadcast::boolean:
com.android.server.am.BroadcastQueueImpl.processNextBroadcastLocked::boolean,boolean:
com.android.server.am.BroadcastQueueImpl.processCurBroadcastLocked::BroadcastRecord,ProcessRecord:
// binder 到接收广播的app进程
android.app.ActivityThread.ApplicationThread.scheduleReceiver::Intent,ActivityInfo,CompatibilityInfo,int,String,Bundle,boolean,boolean,int,int,int,String:
android.app.ActivityThread.sendMessage::int,Object:
// handler 到主线程
// android.app.ActivityThread.H.RECEIVER
android.app.ActivityThread.H.handleMessage::Message:
android.app.ActivityThread.handleReceiver::ActivityThread.ReceiverData:
android.content.BroadcastReceiver.onReceive::Context,Intent: