Activity、Window及View关系

Activity、Window及View之间的关系

       我们在研究Android中Activity和PhoneWindow(它是Window的子类)及DecorView(根级View)之间的关系时,其实时从Activity.setContentView()入手。

我们知道在Activity.attach中创建了唯一对应的PhoneWindow类,此时建立了Activity与PhoneWinow的绑定关系,其实Activity只是PhoneWindow的载体,它里面要展示的UI内容依赖PhoneWindow,所以Activity.setContentView()即是调用PhoneWindow.setContentView()。

那么接下来我们就看看PhoneWindow.setContentView()中做了什么

我们看到在PhoneWindow中初始化了DecorView(它是继承FrameLayout),那么我们的布局View是怎样被绑定添加到这DecorView中的呢,我们再来看看DecorView的初始化是怎么做的

我们看到创建完DecorView之后还会创建一个基于ViewGroup的mContentParent类,而我们的布局View也是添加到mContentPatent上。

综上所分析,Activity和Window及View关系如下图所示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值