Window 分析

来源:互联网 发布:天融信网络教育 编辑:程序博客网 时间:2024/06/02 17:32

首先要知道,acticity、window、view的关系

1,activity是一个抽象的概念,他的作用在于方便我们了解生命周期,window窗口才是view的载体,而不是activity,setContentView加载布局其实是通过 getWindow().setContentView(view)实现的。

2,window是一个抽象类,我们常用的是他的子类PhoneWindow,phoneWindow在activity的attach()方法中 mWindow = PolicyManager.makeNewWindow(this)赋值。

3,phoneWindow有个内部类DecorView ,DecorView extends FrameLayout ,xml里面的layout是通过DecorView 加载呈现出来的。(这里就是分析  view是如何添加到应用窗口上的 

可参考http://blog.csdn.net/qinjuning/article/details/7226787)

4,activity提供了WindowManager,windowManager为window提供surface,window为view提供canvas,通过这个流程完成绘制(具体过程以后分析)。


0 0
原创粉丝点击