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:
ActivityFragmentViewModel(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
}