Этот вопрос проверяет знание последовательности методов жизненного цикла Activity и исключений.
Полный цикл: onCreate → onStart → onResume (активность видима и на переднем плане), затем при уходе с переднего плана → onPause → onStop → onDestroy. В нормальных условиях onDestroy вызывается всегда после onStop, но при экстремальных условиях (системная смерть процесса из-за OOM) onDestroy может не вызваться вовсе либо пропустить onStop.
Методы цикла:
onCreate() — инициализация UI и данных.
onStart() — видимость, но ещё не интерактивна.
onResume() — на переднем плане, принимает ввод.
onPause() — теряет фокус, но ещё видима.
onStop() — полностью скрыта.
onDestroy() — финализация и освобождение ресурсов.
Исключения:
При критической нехватке памяти система может убить Activity без вызова onDestroy.
Если finish() вызывается в onPause, может пропустить onStop.
Вывод:
Всегда освобождайте ключевые ресурсы в onPause/onStop, а не только в onDestroy.