在我的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)答案的其他信息。 –