什么时候调用 Activity.attach() ?
When Activity.attach() will be called?
当我研究 Activity 的创建过程时,我发现 var mWindow 是在 Actviity'attach() 中初始化的。像这样
final void attach(Context context, ActivityThread aThread,
Instrumentation instr, IBinder token, int ident,
Application application, Intent intent, ActivityInfo info,
CharSequence title, Activity parent, String id,
NonConfigurationInstances lastNonConfigurationInstances,
Configuration config, String referrer, IVoiceInteractor voiceInteractor) {
attachBaseContext(context);
mFragments.attachActivity(this, mContainer, null);
mWindow = PolicyManager.makeNewWindow(this);
mWindow.setCallback(this);
mWindow.setOnWindowDismissedCallback(this);
mWindow.getLayoutInflater().setPrivateFactory(this);
...
}
但是我不知道这个方法什么时候会被调用。
谁能回答我?
谢谢。
在 class ActivityThread
的 performLaunchActivity
函数中调用,在 onCreate
.
之前
当我研究 Activity 的创建过程时,我发现 var mWindow 是在 Actviity'attach() 中初始化的。像这样
final void attach(Context context, ActivityThread aThread,
Instrumentation instr, IBinder token, int ident,
Application application, Intent intent, ActivityInfo info,
CharSequence title, Activity parent, String id,
NonConfigurationInstances lastNonConfigurationInstances,
Configuration config, String referrer, IVoiceInteractor voiceInteractor) {
attachBaseContext(context);
mFragments.attachActivity(this, mContainer, null);
mWindow = PolicyManager.makeNewWindow(this);
mWindow.setCallback(this);
mWindow.setOnWindowDismissedCallback(this);
mWindow.getLayoutInflater().setPrivateFactory(this);
...
}
但是我不知道这个方法什么时候会被调用。 谁能回答我? 谢谢。
在 class ActivityThread
的 performLaunchActivity
函数中调用,在 onCreate
.