addToDisplay方法外部调用了mService的addWindow方法,并将Session对象自身作为第一个参数传出来。mService就是WMS的实例,每一个app进程都会对应一个Session对象用来示意app进程与WMS的通讯渠道。WMS会用ArrayList来寄存这些Session对象。WMS会为这个要减少的窗口调配Surface,并确定窗口的显示秩序,真正担任显示界面视图的是画布Surface而不是窗口自身。WMS会将所治理的Surface交由SurfaceFlinger解决,SurfaceFlinger会将这些Surface混兼并绘制并最终出现到屏幕上。
© 版权声明