Какой Side эффект можно привязать к жизненному циклу

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

Ответ

В Android можно привязать side-эффекты к жизненному циклу через LifecycleObserver или используя repeatOnLifecycle в корутинах.

Пример с LifecycleObserver:

class MyObserver : LifecycleObserver {
    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
    fun onResume() {
        // side effect on resume
    }
}

lifecycle.addObserver(MyObserver())

Пример с корутинами:

lifecycleScope.launch {
    repeatOnLifecycle(Lifecycle.State.STARTED) {
        // side effect runs while lifecycle is at least STARTED
    }
}

Это гарантирует, что side-эффекты будут выполняться только в нужных состояниях жизненного цикла и автоматически очищаться.