任何人都可以解释如果我执行此活动会发生什么? 我得到奇怪的输出和应用程序挂起。 ` 公共类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的原因。
答案 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永远不会被调用...