Sobes.tech
Junior

Čo je to LifecycleOwner?

sobes.tech AI

Odpoveď od AI

Rozhranie predstavujúce komponent s životným cyklom (Lifecycle). Umožňuje iným objektom (LifecycleObserverom) sledovať stav životného cyklu tejto komponenty a reagovať na jeho zmeny.

Príklady LifecycleOwner v Android:

  • Activity
  • Fragment
  • ViewModel (vyžaduje špeciálny Hilt/AndroidX Lifecycler)

Hlavné použitie je bezpečné riadenie zdrojov (odberov, spracovateľov) v závislosti od stavu komponenty.

class MyObserver : LifecycleObserver {

    @OnLifecycleEvent(Lifecycle.Event.ON_START)
    fun onStart() {
        // Vykonať akcie pri štarte LifecycleOwner
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
    fun onStop() {
        // Vykonať akcie pri zastavení LifecycleOwner
    }
}

// V LifecycleOwner (napríklad, Activity)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    lifecycle.addObserver(MyObserver()) // Pridať pozorovateľa
}