Ответ
snapshotFlow преобразует State в Flow, эмитируя значения при изменении состояния. Полезно для интеграции с корутинами.
val state = remember { mutableStateOf(0) }
LaunchedEffect(Unit) {
snapshotFlow { state.value }.collect { /* ... */ }
}
derivedStateOf вычисляет производное состояние, обновляясь только при изменении зависимостей. Оптимизирует рекомпозиции.
val listState = rememberLazyListState()
val showButton by remember {
derivedStateOf { listState.firstVisibleItemIndex > 0 }
}
remember сохраняет значение во время рекомпозиции, но сбрасывается при изменении ключей или выходе из Composition.
rememberSaveable сохраняет значение через Bundle при конфигурационных изменениях (поворот экрана). Поддерживает Saver для кастомных объектов.