Activity登堂入室

1.Activity,Window与View的关系

下面是自己查阅资料,看了下一点源码的归纳所得,如果哪写错了欢迎指出!下面贴下小结图:

流程解析:Activity调用startActivity后最后会调用attach方法,然后在PolicyManager实现一个Ipolicy接口,接着实现一个Policy对象,接着调用makenewwindow(Context)方法,该方法会返回一个PhoneWindow对象,而PhoneWindow是Window的子类,在这个PhoneWindow中有一个DecorView的内部类,是所有应用窗口的根View,即View的老大,直接控制Activity是否显示(引用老司机原话..),好吧,接着里面有一个LinearLayout,里面又有两个FrameLayout他们分别拿来装ActionBar和CustomView,而我们setContentView()加载的布局就放到这个CustomView中!

总结下这三者的关系:打个牵强的比喻:我们可以把这三个类分别堪称:画家,画布,画笔画出的东西;画家通过画笔( LayoutInflater.infalte)画出图案,再绘制在画布(addView)上!最后显示出来(setContentView)

2.Activit

猜你喜欢

转载自blog.csdn.net/shiwei0813/article/details/129939273