Window表示一个窗口,这是一个抽象类,具体的实现是PhoneWindow,可以通过WindowManager来创建一个Window。
Activity是Android四大组件,主要和用户进行交互,View是视图对象。
Android中所有的视图都是通过Window来呈现的,不管是Activity还是Dialog都是依附在Window上的。
当启动Activity通过setContentView()方法来添加布局的时候实际上是调用PhoneWindow的setContentView方法将布局添加到DecorView中,DecorView是Activity的顶级View,是一个FrameLayout,内部包含了标题栏和内容栏,而内容栏的id就是content,这也是setContentView方法命名的原因。最后通过布局加载器LayoutInflater生成View对象然后通过addView()方法添加到Window上。而Window内部有一个ViewGroup容器,addView()方法就是将View对象添加到容器中。