1、Window、WindowManager和WMS
- Window是一个抽象类,具体的实现类为PhoneWindow,它对View进行管理
- WindowManager是一个接口类,继承自接口ViewManager,用来管理Window的,它的实现类为WindowManagerImpl
- WindowManger会将具体的工作交给WMS来处理,WindowManager和WMS通过Binder来进行跨进程通信
总的来说就是 WindowManger 将工作交给WMS来处理,并且对Window进行管理,也就是对View进行管理
2、WindowManager 的关联类
1、WindowManager是一个接口类,继承自接口ViewManager,ViewManager中定义了三个方法分别用来添加、更新和删除View
public interface ViewManager{
public void addView(View view, ViewGroup.LayoutParams params)
public void updateViewLayout(View view, ViewGroup.LayoutParams params)
public void removeView(View view)
}
WindowManager 也继承了这些方法,而这些方法传入的参数都是View类型,说明Window是以View的形式存在的,在继承这些方法的同时,又加入了很多功能,其中有两个方法是根据Window的特性加入的
/**
* 能够得知这个Window Manager实例将Window添加到哪个屏幕上了,
* 也就是说