WindowContainer类
从WindowContainer类的注释中可以看出该类中定义了一些公共的方法和属性给直接持有窗口的自己或者它的孩子使用,像RootWindowContainer、DisplayContent、DisplayArea、DisplayArea.Tokens、TaskDisplayArea、Task、ActivityRecord、WindowToken、WindowState都是直接或者间接持有了WindowContainer。
以下就是WindowContainer相关类的继承图
下面就来解释以下WindowContainer相关类
1.RootWindowContainer:根容器窗口,即树根。通过它可以遍历寻找,可以找到窗口树上的任一窗口。
2.DisplayContent:该类对应着显示屏幕,Android支持多屏的,所以存在多个DisplayContent对象
3.DisplayArea:该类是对应着显示屏幕下面的,代表一组窗口合集子类,如Tokens,TaskDisplayArea等等。
4.TaskDisplayArea:在窗口层级树中它位于窗口层级的第2层。应用层处于该层,即:int APPLICATION_LAYER = 2。
5.DisplayArea.Tokens:代表专门包含WindowTokens的容器
6.ImeContainer:输入法窗口的容器
7.Task:任务,
8.ActivityRecord:是对应着应用进程中的Activity。
9.WindowState:WindowState是对应着一个窗口的。