PhoneWindow的创建
通过在ActivityThreed中performLaunchActivity方法拿到activity
然后再Activity中attach方法new PhoneWindow
然后回到ActivityThreed中performLaunchActivity方法中 mInstrumentation.callActivityOnCreate()执行oncreate
继承 Activity 的流程
PhoneWindow.setContentView — 主要目的 创建 DecorView 拿到 Content
创建DecorView
第一个分支
第二个分支
protected ViewGroup generateLayout(DecorView decor) {
...
else {
//举个例子 用R.layout.screen_simple
layoutResource = R.layout.screen_simple;
}
mDecor.startChanging();
mDecor.onResourcesLoaded(mLayoutInflater, layoutResource);
//id/context赋值到mContentParent
ViewGroup contentParent = (ViewGroup)findViewById(ID_ANDROID_CONTENT);
}
看下图id/context就是mContentParent就是activity_main
然后回到setContentView()将R.layout.activity_main进行渲染到mContentParent