在其onCreate方法中启动新活动后的上一个活动状态?
问题描述:
任何人都可以解释如果我执行此活动会发生什么? 我越来越奇怪的输出和应用程序挂起。 ` 公共类ComedyAct扩展AppCompatActivity {在其onCreate方法中启动新活动后的上一个活动状态?
@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,请执行程序和解释output.Atleast的理由给我downvote的原因。
答
我建议你阅读活动的生命周期...
当你开始另一项活动,该活动ComedyAct将处于停止状态,在onStart绝不会在这种情况下调用..
活动生命周期:
的OnCreate --->的OnStart --->的onResume
当另一个活动启动 那么首先的onPause ---->的onStop --->的onDestroy
什么时候第一次活动会恢复?
首先的的onCreate ----> --->在onStart ---->的onResume,如果活动被摧毁...
但如果该活动没有destroyed..then首先onRestart的---> onStart ---> OnResume,在这种情况下onCreate将永远不会被调用......
+0
请运行代码和ans。 Becoz它会给出意想不到的输出。解释输出。 –
为什么不把调试点放在'while(i Raghunandan
@Raghunandan我更感兴趣会发生什么,为什么会发生,如果我写这样的代码比单纯的输出。 –
如果你使用调试器的帮手调试 – Raghunandan