Window是一个抽象类,具体实现是PhoneWindon。创建Window是通过WindowManger完成的。WindowManger是外界访问Window的入口,Window的具体实现位于WindowMangerService中,WindowManger和WindowMangerService的交互是一个IPC过程。Android中的所有视图都是通过Window来呈现的,不管是Actvivty、Dialog还是Toast,它们的视图实际上都是附加在WIndow上的,因此Window实际是View的直接管理者。
一、WindowManger:
WindowManger提供三个方法,添加View、更新View、删除View。这三个方法定义在ViewManager中,而WindowManger继承了ViewManager:
public interface ViewManager{
public void addView(View view,ViewGroup.LayoutParams params);
public void updateViewLayout(View view,ViewGroup.LayoutParams params);
public void removeView(View view);
}