Junior — Middle
Como verificar se uma atividade no Android foi fechada ou destruída pelo sistema?
sobes.tech IA
Resposta da IA
Чтобы проверить, что Activity была закрыта или уничтожена системой, можно использовать методы жизненного цикла Activity:
onDestroy()вызывается при уничтожении Activity. Если этот метод вызывается, значит Activity завершается.isFinishing()внутриonDestroy()возвращаетtrue, если Activity закрывается явно (например, пользователь нажал назад).- Если
isFinishing()возвращаетfalseвonDestroy(), значит Activity уничтожается системой (например, из-за нехватки памяти).
Пример проверки в onDestroy():
override fun onDestroy() {
super.onDestroy()
if (isFinishing) {
// Activity закрывается пользователем
} else {
// Activity уничтожается системой
}
}
Также можно отслеживать состояние через onSaveInstanceState() и onRestoreInstanceState(), чтобы понять, была ли Activity пересоздана после уничтожения.