Android StartActivity kill the Activity1 first and its ondestroyed should get called. Once this completes then open another activity.
startActivity(new Intent(Activity1.this, Activity2.class));
finish();
even if i call finish first in this scenario Activity1 ondestroy method get call after Activity2 is shown to user. I am looking for proper way where i can be sure that Activity1 get destroyed completely then only show Activity2