我们已经清楚了四大组建的创建流程
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
网友评论