Вот мой код:
Код: Выделить всё
DisposableEffect(lifecycleOwner) {
val observer = LifecycleEventObserver { _, event ->
when (event) {
Lifecycle.Event.ON_RESUME -> {
lifecycle = true
}
Lifecycle.Event.ON_PAUSE -> {
lifecycle = false
}
else -> {}
}
}
lifecycleOwner.lifecycle.addObserver(observer)
onDispose {
lifecycleOwner.lifecycle.removeObserver(observer)
}
}
Когда я использую NavHost для перехода от текущего Composable к другому Composable, приведенный выше код способен обнаружить изменения состояния жизненного цикла текущего Composable. , например, запуск событий ON_PAUSE или ON_RESUME. Это меня смущает, потому что LocalLifecycleOwner обычно привязан к жизненному циклу действия или фрагмента, а не к конкретному составному объекту. Почему, используя DisposableEffect и LocalLifecycleOwner для наблюдения за событиями жизненного цикла, можно эффективно обнаруживать изменения состояния текущего Composable? Каков механизм такого поведения?
Подробнее здесь: https://stackoverflow.com/questions/793 ... fecycle-of