我调用finish()和startActivity()的顺序是否重要?

时间:2015-10-20 09:23:39

标签: android performance android-activity

第一种方式

Intent in = new Intent(VerificationActivity.this, VerifyCode.class);
in.putExtra("verificationCode", verificationCode);
finish();
startActivity(in);

第二种方式......

Intent in = new Intent(VerificationActivity.this, VerifyCode.class);
in.putExtra("verificationCode", verificationCode);
startActivity(in);
finish();

这是更好的方法吗?有什么不同吗?

2 个答案:

答案 0 :(得分:1)

finish()来电呼叫onStop()当前活动,startActivity(i)将新intent i移至事件队列。并且当活动取出事件队列时启动它。在前者中,如果事件队列停滞,你会看到当前的活动消失,并且在一段时间后,当意图轮到它时......活动将无处不在。但是由于Android的安排,这几乎不会发生。

答案 1 :(得分:0)

你调用它们的方式无关紧要,无论如何都不会立即发生startActivity()和finish()。除非你打电话给return,否则你的方法总会在关闭之前完成它的所有代码。