Спасибо за вашу помощь @Lucefer. Ваш ответ имеет смысл, но, к сожалению, он сохранил то же поведение.

ерезапуске Действия,onStop() от предыдущей деятельности задерживает слишком много, чтобы быть названным.

Я использую этот код, чтобы возобновить свою деятельность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);

Давай позвонимPreviousPlayerActivity а такжеNewPlayerActivity, активность, которая была раньше, и новая активность. (помня, что они одинаковые PlayerActivity).

Последовательность

При перезапуске приложение следует этому потоку в жизненном цикле действия.

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

Что мне нужно

Мне нужно, чтобы PreviousPlayerActivity было завершено уничтожено до запуска NewPlayerActivity. Тем не мение,onStop() вызывается только после тяжелой операции, поэтому она задерживается примерно на 10 секунд.

Что я пробовал

Если я используюrecreate() метод это разрушает PreviousPlayerActivity перед вызовом NewPreviousActivity, но путем вызоваrecreate() Я не могу положить Экстра в новый экземпляр деятельности.

Вопросов

Как полностью уничтожить PreviousActivity при перезапуске активности?Есть ли способ поставить Extras при использованииrecreate()?

Ответы на вопрос(2)

Ваш ответ на вопрос