Найти в Дзене

— Что будет, если мы вызовем finish() в одном из колбэков жизненного цикла, а чуть дальше напишем что-то еще?


Выполнится весь метод и только потом произойдет завершение. Почему так?

Все методы жизненного цикла всегда обрабатываются в главном потоке в порядке очереди. И вот если мы вызовем finish() в одном из методов жизненного цикла, то в эту очередь добавится сообщение, но оно не будет выполнено, пока не вернется выполняемый callback, т.е. пока главный поток не освободится от текущей задачи.

— Когда в activity вызывается finish(), какие методы жизненного цикла вызываются?

onPause — onStop — onDestroy. Тут важно, что метод onSaveInstanceState не вызывается, потому что активити полностью уничтожается.
Около минуты
188 читали