onStop demora en ser llamado al reiniciar la actividad

Al reiniciar una actividad,onStop() de la actividad anterior retrasa demasiado para ser llamado.

Estoy usando este código para reiniciar mi actividad PlayerActivity.java

Intent playerIntent = getIntent();
playerIntent.putExtra(Constants.VIDEO_ID, videoId);
playerIntent.putExtra(Constants.CATEGORY_ID, categoryId);
playerIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
startActivity(playerIntent);

Llamemos PreviousPlayerActivity y NewPlayerActivity, la actividad anterior y la nueva actividad. (recordando que son la misma PlayerActivity).

Secuenci

Al reiniciar la aplicación, sigue este flujo en el ciclo de vida de la actividad.

PreviousPlayerActivity onPause() --> 
NewPlayerActivity onCreate() --> 
NewPlayerActivity onStart() --> 
NewPlayerActivity onResume() --> 
NewPlayerActivity performs a heavy operation --> 
PreviousPlayerActivity onStop() --> 
PreviousPlayerActivity onDestroy()

Lo que necesit

Necesito que PreviousPlayerActivity se complete destruido antes de que comience NewPlayerActivity. Sin embargo,onStop() solo se llama después de la operación pesada, por lo que se demora alrededor de 10 segundos para ser llamado.

Lo que probé

Si usorecreate() método destruye PreviousPlayerActivity antes de llamar a NewPreviousActivity, pero llamando arecreate() No puedo poner Extras en la nueva instancia de actividad.

Preguntas

¿Cómo destruir completamente PreviousActivity al reiniciar una actividad?Hay una manera de poner Extras mientras usarecreate()?

Respuestas a la pregunta(2)

Su respuesta a la pregunta