在onCreate方法中启动新活动后的上一个活动状态?

时间:2017-09-13 10:30:44

标签: android android-activity android-lifecycle activity-lifecycle

任何人都可以解释如果我执行此活动会发生什么? 我得到奇怪的输出和应用程序挂起。 ` 公共类ComedyAct扩展了AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(new ProgressBar(this));

    startActivity(new Intent(this,secondact.class));

    Log.d("main","I am after start second act");
    int i=0;
    while(i<10000);

}

@Override
protected void onStart() {
    super.onStart();
    int i=0;
    while(i<10000);
    Log.d("main","I am in start first act");
}

@Override
protected void onStop() {
    super.onStop();
    int i=0;
    while(i<10000);
    Log.d("main","I am in stop first act");
}

} `

注意:无论是downvoting,请执行程序并解释输出的原因。我给出了downvote的原因。

1 个答案:

答案 0 :(得分:1)

我建议你阅读活动生命周期...

当你开始另一个活动时,ComedyAct活动将处于停止状态,onStart在这种情况下永远不会调用..

活动生命周期是:

的OnCreate ---&GT;的OnStart ---&GT;的onResume

当另一项活动启动时 然后首先onPause ----&gt; onStop ---&gt; onDestroy

第一项活动何时恢复?

首先onCreate ----&gt; ---&gt; onStart ----&gt; onResume,如果活动被销毁......

但是如果活动没有被破坏..那么首先onRestart ---&gt; onStart ---&gt; OnResume,在这种情况下onCreate永远不会被调用...