Sobes.tech
Junior

Mis on LifecycleOwner?

sobes.tech AI

Vastus AI-lt

Liides, mis esindab komponendi, millel on elutsükkel (Lifecycle). See võimaldab teistel objektidel (LifecycleObserver'idel) jälgida selle komponendi elutsükli olekut ja reageerida selle muutustele.

Androidi näited LifecycleOwner'idest:

  • Activity
  • Fragment
  • ViewModel (vajab spetsiaalset Hilt/AndroidX Lifecyclerit)

Peamine kasutusala on ressursside turvaline haldamine (tellimused, käsitlejad) sõltuvalt komponendi olekust.

class MyObserver : LifecycleObserver {

    @OnLifecycleEvent(Lifecycle.Event.ON_START)
    fun onStart() {
        // Teha tegevusi LifecycleOwner'i käivitamisel
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
    fun onStop() {
        // Teha tegevusi LifecycleOwner'i peatamisel
    }
}

// LifecycleOwner'is (nt. Activity)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    lifecycle.addObserver(MyObserver()) // Lisada jälgija
}