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()
?