Какие знаешь особенности метода onDestroy у Activity

«Какие знаешь особенности метода onDestroy у Activity» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Метод onDestroy() вызывается перед уничтожением Activity. Его особенности:

  1. Не гарантируется вызов – система может убить процесс без вызова onDestroy() (например, при нехватке памяти).
  2. Финализация ресурсов – здесь стоит освобождать тяжелые ресурсы (закрывать соединения, отменять запросы).
  3. Не для сохранения данных – для сохранения состояния используйте onSaveInstanceState().
  4. Проверка isFinishing() – помогает отличить реальное завершение от конфигурационных изменений.

Пример:

override fun onDestroy() {
    super.onDestroy()
    if (isFinishing) {
        // Освобождаем ресурсы только при реальном завершении
        myDatabase.close()
    }
}