Sobes.tech
Junior

O que é LifecycleOwner?

sobes.tech IA

Resposta da IA

Interface que representa um componente com um ciclo de vida (Lifecycle). Permite a outros objetos (LifecycleObserver) acompanhar o estado do ciclo de vida deste componente e reagir às suas mudanças.

Exemplos de LifecycleOwner em Android:

  • Activity
  • Fragment
  • ViewModel (necessita de um Hilt/AndroidX Lifecycler especial)

O uso principal é a gestão segura de recursos (subscripções, manipuladores) dependendo do estado do componente.

class MyObserver : LifecycleObserver {

    @OnLifecycleEvent(Lifecycle.Event.ON_START)
    fun onStart() {
        // Executar ações ao iniciar o LifecycleOwner
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
    fun onStop() {
        // Executar ações ao parar o LifecycleOwner
    }
}

// No LifecycleOwner (por exemplo, Activity)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    lifecycle.addObserver(MyObserver()) // Adicionar observador
}