Ответ
Compose использует собственный lifecycle, управляемый через LifecycleOwner (Activity/Fragment). Основные фазы:
- Active - композиция отображается на экране
- Inactive - композиция в бэкграунде, но еще не уничтожена
- Disposed - композиция полностью удалена
Ключевые API для работы с lifecycle:
DisposableEffect(key) {
// Эффект при входе в композицию
onDispose {
// Очистка при выходе
}
}
val lifecycle = LocalLifecycleOwner.current.lifecycle
val state by lifecycle.currentStateFlow.collectAsState()
remember сохраняет значение только в Active фазе. Для сохранения между конфигурациями используйте rememberSaveable.