Какие знаешь side эффекты в Jetpack Compose

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

Ответ

В Jetpack Compose side effects — это операции, выходящие за рамки функции Composable, например, подписки, анимации или работа с жизненным циклом. Основные виды:

  1. LaunchedEffect — для корутин (асинхронные операции).
    LaunchedEffect(key) { fetchData() }
  1. DisposableEffect — для очистки ресурсов (аналог onDestroy).
    DisposableEffect(key) { onDispose { cleanup() } }
  1. SideEffect — синхронные изменения вне Compose (например, обновление статус-бара).

  2. rememberCoroutineScope — для запуска корутин в обработчиках событий.

  3. produceState — конвертирует внешний поток в состояние Compose.

Неправильное использование может привести к утечкам памяти или неожиданным пересозданиям UI. Всегда указывайте key для контроля перезапуска эффектов.