应用启动流程涉及的类和对象:
1)Launcher:Luncher本质上是一个应用程序,和我们的App一样,也是集成自Activity,实现了点击、长按等回调接口,来接收用户的输入。
2)ActivityManagerService:简称AMS。服务端对象,负责系统中所有Activity的生命周期。
3)ActivityThread:App真正的入口。当开启App之后,会调用mian()开始运行,开启消息循环队列,就是常说的UI线程或主线程。与AMS配合一起完成Activity的管理工作。
4)ApplicationThread:实现ActivityThread和AMS的交互。
5)ApplicationThreadProxy:是ApplicationThread在服务端的Proxy。负责和客户端的ApplicationThread通讯。AMS是通过ApplicationThreadProxy和ActivityThread通讯来管理Application中的Activity生命周期。
6)Instrumentation:每个应用程序只有一个Instrumentation对象,每个Activity内都有一个该对象的引用。Instruction
7)ActivityStack
8)ActivityRecord
9)TaskRecord
网友评论