在我的android应用程序中,我在finish()之后调用了startActivity方法,但仍然能够移动到下一个活动。我想知道这是怎么发生不应该被执行前的startActivity 这里是一个示例代码在startActivity方法之前调用finish()时,发生活动转换
Intent N=new Intent(A.this,B.class);
finish();
startActivity(N);
我能够移动到活动B没有任何问题,也活性A被破坏
活动被销毁在我的android应用程序中,我在finish()之后调用了startActivity方法,但仍然能够移动到下一个活动。我想知道这是怎么发生不应该被执行前的startActivity 这里是一个示例代码在startActivity方法之前调用finish()时,发生活动转换
Intent N=new Intent(A.this,B.class);
finish();
startActivity(N);
我能够移动到活动B没有任何问题,也活性A被破坏
活动被销毁这取决于从那里,你叫的onCreate()将调用的onDestroy()
完成()在在onStart(完成()
结束())将调用onCreate(),onStart(),onStop(),onDestroy()
finish()onResume()将调用的onCreate(),在onStart()的onResume(),在onPause()的onStop()的onDestroy()
您可以在Android生命周期看:
https://developer.android.com/guide/components/activities/activity-lifecycle.html
我不认为finish()
与返回有相同的效果(否则我们会得到unreachable statement
错误),所以其余的流程仍然被调用。
检查此线程 - http://stackoverflow.com/a/4185897/7235049 – tahsinRupam
也阅读[this](http://stackoverflow.com/a/23778611/3921977)答案的其他信息。 –