前几天总结了Android的多用户支持,过几天准备再总结Android的多屏支持。Android支持3种类型屏幕:主屏幕(Primary Display)、外屏幕(External Display)和虚拟屏幕(Virtual Display)。主屏幕就是手机自带的屏幕,外屏幕和虚拟屏幕一般就分别是HDMI和Wifi Display。
为了方便APP访问上述三种屏幕,Android提供了一个统一的屏幕管理服务DisplayManagerService,通过DisplayManagerService,App就可以知道当前系统当前哪些屏幕是可以用,以及这些屏幕的属性,并且可以获得屏幕增加、删除和改变等事件通知,虽然屏幕被划分为三种类型,但是建立他们之上的窗口合成以及渲染依然是统一由SurfaceFlinger来管理。