Sobes.tech
Junior

Cos'è LifecycleOwner?

sobes.tech AI

Risposta dell'AI

Interfaccia che rappresenta un componente con un ciclo di vita (Lifecycle). Consente ad altri oggetti (LifecycleObserver) di monitorare lo stato del ciclo di vita di questo componente e di reagire ai suoi cambiamenti.

Esempi di LifecycleOwner in Android:

  • Activity
  • Fragment
  • ViewModel (richiede un apposito Hilt/AndroidX Lifecycler)

L'uso principale è la gestione sicura delle risorse (iscrizioni, gestori) in base allo stato del componente.

class MyObserver : LifecycleObserver {

    @OnLifecycleEvent(Lifecycle.Event.ON_START)
    fun onStart() {
        // Eseguire azioni all'avvio del LifecycleOwner
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
    fun onStop() {
        // Eseguire azioni all'arresto del LifecycleOwner
    }
}

// Nel LifecycleOwner (ad esempio, Activity)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    lifecycle.addObserver(MyObserver()) // Aggiunta di un osservatore
}