首先,ActivityThread(AT)从main函数中开始执行,调用perpareMainLooper为UI线程创建一个队列,MessageQueue,然后创建一个AT对象,AT初始化会创建一个handler对象和一个ApplicationThread(Bindler)对象,bindler负责接收AMS的IPC调用,通过handler把消息发送到队列,UI线程会一步取出消息并执行对应函数。
AT接收到AMS发送的创建某个ACTIVITY后,先创建指定ACTVITY对象,ACTIVITY会创建PHONEWINDOW类再创建DECORVIEW,再创建相应的VIEW或者VIEWGROUP,创建完成后显示到屏幕上,触发调用WINDOWMANAGER创建一个VIEWROOT对象,创建VIEWROOT后,WNDOWMANAGER再调用WMS来显示到屏幕上。