在Android S中,分屏功能相关的组件:
- WindowState(窗口状态):表示一个窗口的状态和属性,包括窗口的位置、大小、可见性等。它用于管理和操作应用程序的窗口。
- DisplayContent(显示内容):代表一个物理显示设备的内容,如屏幕或外部显示器。它负责管理和显示窗口,跟踪显示设备的状态和属性。
- WindowContainer(窗口容器):是一个抽象概念,表示可以容纳窗口的容器。它可以是一个Activity、一个应用程序、一个窗口管理器等。WindowContainer提供了对窗口的管理和组织功能。
- DisplayArea(显示区域):是DisplayContent中的一个区域,用于组织和管理窗口。在分屏功能中,通常会有两个DisplayArea,一个用于主屏幕,另一个用于副屏幕。
- SplitScreenController(分屏控制器):是Android S中负责管理分屏功能的控制器。它处理分屏模式的启动、退出、窗口调整等操作,并协调各个组件之间的交互。
- LegacySplitScreenController(传统分屏控制器):是在Android S之前版本中使用的分屏控制器。它提供了向后兼容的分屏功能,支持旧版分屏模式。
这些组件之间的关联如下:
- WindowState属于WindowContainer,代表一个窗口的状态。
- DisplayContent包含多个DisplayArea,用于管理窗口的显示内容。
- SplitScreenController是Android S中的新分屏控制器,负责管理分屏模式的操作和交互。
- LegacySplitScreenController是传统分屏控制器,用于向后兼容旧版分屏模式。
总的来说,它们共同协作,实现了分屏模式的管理、窗口的显示和交互。