Android四大组件的工作过程

119 阅读1分钟

根Activity启动过程


普通Activity启动过程只涉及AMS所在进程和应用程序进程。

Service启动过程

流程:

1. startService--ContextWrapper--ContextImpl--IActivityMnager-AMS--ActiveServices--ApplicationThread--ActivityThread--H--Service

2. bindService--AMS--ActiveServices--ApplicationThread--ActivityThread--H--ActivtyThread--AMS--ActiveServices--InnerConnection--ServiceDispatcher--RunConnection--ServiceConnection

广播的注册、发送和接收过程

广播接收者的动态注册过程:registerReceiver--ContextWrapper--ContextImpl--IActivityManager--AMS

广播(无序)的发送过程:sendBroadcast--ContextWrapper--ContextImpl--IActivityManager--AMS

广播的接收过程:AMS--BroadcastQueue--BroadcastHandler--ApplicationThread--InnerReceiver--ReceiverDispatcher--Args--BroadcastReceiver

ContentProvider的启动过程

流程:

query--ContentResolver--ApplicationContentResolver--ActivityThread--IActivityManager--AMS--IApplicationThread--ApplicationThread--ActivityThread--H--ContentProvider(应用程序进程没有启动的情况)