Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
347 of 502 menu
◀ ▶

Метод onDestroy

Метод onDestroy интерфейса DefaultLifecycleObserver вызывается при Lifecycle.Event.ON_DESTROY. После этого State становится DESTROYED. Здесь снимают последние привязки к owner.

Синтаксис

override fun onDestroy(owner: LifecycleOwner) { }

Параметры

Параметр Описание
owner Компонент, который уничтожают.

Пример

Давайте запишем флаг в onDestroy observer:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Text import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.lifecycle.DefaultLifecycleObserver import androidx.lifecycle.LifecycleOwner class MainActivity : ComponentActivity() { private var destroyedLabel = "abcde" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val observer = object : DefaultLifecycleObserver { override fun onDestroy(owner: LifecycleOwner) { destroyedLabel = "12345" } } lifecycle.addObserver(observer) setContent { var text by remember { mutableStateOf("abcde") } Text(text = text) } } }

На экране виден "abcde", а поле destroyedLabel станет "12345" при уничтожении Activity.

Смотрите также

  • метод onStop,
    который вызывают перед onDestroy
  • метод onCleared,
    который чистит ViewModel отдельно
  • перечисление State,
    где DESTROYED - финальный этап
  • класс DefaultLifecycleObserver,
    где объявлен onDestroy
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить