Sobes.tech
Junior

Czym jest LifecycleOwner?

sobes.tech AI

Odpowiedź od AI

Interfejs reprezentujący komponent posiadający cykl życia (Lifecycle). Umożliwia innym obiektom (LifecycleObserver) śledzenie stanu cyklu życia tego komponentu i reagowanie na jego zmiany.

Przykłady LifecycleOwner w Android:

  • Activity
  • Fragment
  • ViewModel (wymaga specjalnego Hilt/AndroidX Lifecycler)

Główne zastosowanie to bezpieczne zarządzanie zasobami (subskrypcje, obsługiwacze) w zależności od stanu komponentu.

class MyObserver : LifecycleObserver {

    @OnLifecycleEvent(Lifecycle.Event.ON_START)
    fun onStart() {
        // Wykonaj działania przy starcie LifecycleOwner
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
    fun onStop() {
        // Wykonaj działania przy zatrzymaniu LifecycleOwner
    }
}

// W LifecycleOwner (np. Activity)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    lifecycle.addObserver(MyObserver()) // Dodanie obserwatora
}