外观
多屏与虚拟显示需要理解哪些关系?
标准回答
Display 是逻辑显示目标,窗口和任务分配到显示上;VirtualDisplay 创建由 Surface 承接输出的虚拟显示,可用于投屏、录屏或其他多屏场景,受创建方式与权限约束。
关键机制
- 将页面放到某显示,要考虑 displayId、窗口 Context、密度、尺寸、方向与任务管理策略。
- 迁移显示可能伴随配置变化和页面重建,也可能通过定制策略处理;是否 relaunch 与是否发生布局调整不是一回事。
- 输入焦点、返回事件、Launcher / HOME 行为由系统配置和显示策略决定,虚拟显示不天然等于另一个完整桌面。
通俗例子
页面从小屏移动到大屏,即使某个定制系统跳过重建,也可能收到新的配置和尺寸并重新布局,所以仍能铺满新屏。
易混淆点
不要把厂商定制参数当作所有 Android 都存在的公共 API;必须区分通用机制与特定平台实现。
参考资料
内容来源
- Android 技术札记 · 原条目
multidisplay