В соответствии с жизненным циклом активности Android, когда активность больше не видна, будет вызван onStop
. Но этого не происходит, если я быстро выйду из второго действия.
У меня есть два занятия HomeActivity
и DetailActivity
.
Шаг 1. Нажав кнопку на HomeActivity
, вы перейдете к DetailActivity
Шаг 2. Назад нажмите на DetailActivity
, чтобы перейти к HomeActivity
При переходе к DetailActivity
следует вызывать onStop
из HomeActivity
в соответствии с жизненным циклом активности, поскольку DetailActivity
получает onStart
. Но onStop
не вызывается, если я быстро нажимаю DetailActivity
.
Жизненный цикл активности при немедленном нажатии назад.
HomeActivity: onPause
DetailActivity: onStart
DetailActivity: onResume
DetailActivity: onPostResume
DetailActivity: onPause
HomeActivity: onResume
HomeActivity: onPostResume
DetailActivity: onStop
Жизненный цикл активности, если вернуться назад после задержки (скажем, через несколько секунд в DetailActivity)
HomeActivity: onPause
DetailActivity: onStart
DetailActivity: onResume
DetailActivity: onPostResume
HomeActivity: onStop
DetailActivity: onPause
HomeActivity: onStart
HomeActivity: onResume
HomeActivity: onPostResume
DetailActivity: onStop
Разве это не похоже на ошибку, когда запускается новый Activity
, предыдущее действие не останавливается?
HomeActivity
получаетonStop
, если обратное нажатие не быстро наDetailActivity
. Проблема только в том случае, если вы нажмете назад сразу - person Libin   schedule 28.07.2016DetailActivity
и переходите кHomeActivity
. Разве это не означает, что если я могу взаимодействовать со вторым действием (нажав кнопку), действие полностью запущено, а первое должно остановиться? - person Libin   schedule 28.07.2016