SurfaceView在宿主窗口“挖洞”过程要点
第1步,SurfaceView将通过IWindow接口与WindowManagerService关联,WindowManagerService服务将认为Activity窗口和SurfaceView的地位是一样的,即认为它们各自拥有独立窗口,并且具有绘图表面surface;
第5步,ViewGroup的gatherTransparentRegion方法遍历包括SurfaceView在内的所有子View的gatherTransparentRegion以得到最后的透明区域TransparentRegion,如果其他类型子View覆盖SurfaceView,其gatherTransparentRegion方法将减去相应透明区域。同理,在绘制的过程中,ViewGroup的dispatchDraw也将遍历所有子View的draw,覆盖SurfaceView的子View也将绘制在SurfaceView之上。