外观
如何理解如果让两个应用进入分屏 系统侧需要协调哪些内容?
标准回答
系统侧首先选择参与分屏的 Task,并依据设备支持和应用兼容策略建立分屏容器关系。在采用 WM Shell 的实现中,SplitScreenController 和 TaskOrganizer 等参与任务组织,WindowContainerTransaction 可以批量提交容器层级、bounds 和模式变化。WMS 与 ATMS 更新窗口和 Activity 配置,应用执行必要的重建或重新布局;Shell 再协调 SurfaceControl 事务和转场。还需要处理分隔条拖动、输入焦点、IME、最小尺寸和退出分屏。
延伸追问
TaskOrganizer、WindowContainerTransaction 属于系统级机制,普通应用不能假定可以任意重组其他应用任务;旧分支会使用不同类名。
内容来源
- Android Framework 知识手册 · 原条目
3-2