Window的操作
Window的操作包括对Window的添加、更新和删除。Window的操作分为两大部分,一部分是WindowManager处理部分,另一部分是WMS处理部分。Window分为三大类,分别是Application Window(应用程序窗口)、Sub Window(子窗口)和SystemWindow(系统窗口),对于不同类型的Window添加过程会有所不同,但是对于WMS处理部分,添加的过程基本上是
Window的属性
WMS是Window的最终管理者,为了方便WMS管理Window则需要定义一些“协议”,这些“协议”就是Window的属性,它们被定义在WindowManager的内部类LayoutParams中。Window的属性有很多种,与应用开发最密切的有三种,分别是Type(Window的类型)、Flag(Window的标志)和SoftInputMode(软键盘相关模式)。
AMS与应用程序进程
要启动一个应用程序,首先要保证这个应用程序所需要的应用程序进程已经存在。在启动应用程序时AMS会检查这个应用程序需要的应用程序进程是否存在,不存在就会请求Zygote进程创建需要的应用程序进程。这里以Service的启动过程为例,来分析AMS与应用程序进程的关系。
Launcher启动流程
SystemServer进程在启动的过程中会启动PackageManagerService,PackageManagerService启动后会将系统中的应用程序安装完成。先前已经启动的AMS会将Launcher启动起来。