Sobes.tech
Junior

Mi az a LifecycleOwner?

sobes.tech MI

Válasz az MI-től

Az interfész egy olyan komponens reprezentálására szolgál, amelynek van életciklusa (Lifecycle). Lehetővé teszi más objektumok (LifecycleObserver-ek) számára, hogy nyomon kövessék ennek a komponensnek az életciklus állapotát, és reagáljanak annak változásaira.

Androidban a LifecycleOwner példák:

  • Activity
  • Fragment
  • ViewModel (külön Hilt/AndroidX Lifecycler szükséges)

Fő alkalmazási területe a komponens állapotától függő erőforrások (feliratkozások, kezelők) biztonságos kezelése.

class MyObserver : LifecycleObserver {

    @OnLifecycleEvent(Lifecycle.Event.ON_START)
    fun onStart() {
        // Tevékenységek végrehajtása a LifecycleOwner indításakor
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
    fun onStop() {
        // Tevékenységek végrehajtása a LifecycleOwner leállításakor
    }
}

// A LifecycleOwner-ben (pl. Activity)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    lifecycle.addObserver(MyObserver()) // Megfigyelő hozzáadása
}