四大组建小结

我们已经清楚了四大组建的创建流程

activity

通过 Instrumentation 向 ActivityManagerService 发起流程,然后 ApplicationThread 接收 AMS 的调用,在通过 Instrumentation 操作 Activity 的生命周期

Service 与 Provider

它们的流程相似,Service 是 AMS 接受到调用后创建 ActivityThread,然后 attachApplication ,ActivityThread 拿到相应的 service 句柄,再执行相应的生命周期

Provider 是 Resolver 调用 ActivityThread,再去调用 ActivityManagerService,这里是 bindApplication,再在 ActivityThread中 installContentProviders

Broadcast

广播呢是AMS 内部维护了一个BroadcastQueue,将广播发送给 LoadedApk,并封装出一个 Args,最后将Args 分配到相应的Receiver

你可能感兴趣的:(四大组建小结)