在startActivity方法之前调用finish()时,将发生Activity转换

时间:2017-04-14 22:02:50

标签: android android-activity

在我的android应用程序中,我犯了错误,在finish()之后调用startActivity方法,但我仍然可以移动到下一个活动。我想知道在执行startActivity之前不应该销毁活动 这是一个示例代码

    Intent N=new Intent(A.this,B.class);
    finish();
    startActivity(N);

我能够毫无问题地转移到活动B,并且活动A也被销毁

2 个答案:

答案 0 :(得分:1)

我不相信finish()与返回具有相同的效果(否则我们会得到unreachable statement错误),因此剩余的流程仍会被调用。

More info.

答案 1 :(得分:1)

取决于你所谓的结束()

onCreate()中的

finish()将调用onDestroy()

onStart()中的

finish()将调用onCreate(),onStart(),onStop(),onDestroy()

onResume()中的

finish()将调用onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy()

您可以查看Android生命周期:

https://developer.android.com/guide/components/activities/activity-lifecycle.html