private void handleLaunchActivity(ActivityClientRecord r, Intent customIntent) {
unscheduleGcIdler();
mSomeActivitiesChanged = true;
...
//Activity.attach()、Activity.setTheme()、Activity.onCreate()、Activity.onStart()、Activity.onRestoreInstanceState()、Activity.onPause()在这里被依次调用,具体的介绍会在Activity生命周期机制进行介绍
Activity a = performLaunchActivity(r, customIntent);
if (a != null) {
r.createdConfig = new Configuration(mConfiguration);
Bundle oldState = r.state;
//正常情况下,Activity.onResume()会被调用,如果有需要的话,Activity.onRestart()、Activity.onStart()会在Activity.onResume()之前调用
handleResumeActivity(r.token, false, r.isForward,
!r.activity.mFinished && !r.startsNotResumed);
...
} else {
try {
ActivityManagerNative.getDefault()
.finishActivity(r.token, Activity.RESULT_CANCELED, null, false);
} catch (RemoteException ex) {
// Ignore
}
}
}