Junior
Hogyan lehet meghatározni egy Activity-ben, hogy megsemmisült-e?
sobes.tech MI
Válasz az MI-től
Írd felül az onDestroy() metódust.
class MyActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
}
override fun onDestroy() {
super.onDestroy()
// Ez a kódblokk az Activity megsemmisítése után fog lefutni
// Itt felszabadíthat erőforrásokat, leiratkozhat Observable-ról stb.
}
}
Másik módszer a LifecycleObserver használata LifecycleOwner-lel az Activity-ben.
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleObserver
import androidx.lifecycle.OnLifecycleEvent
class MyActivity : AppCompatActivity() {
private lateinit var myLifecycleObserver: MyLifecycleObserver
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
myLifecycleObserver = MyLifecycleObserver()
lifecycle.addObserver(myLifecycleObserver)
}
// ...
inner class MyLifecycleObserver : LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
fun onDestroyEvent() {
// Ez a metódus az ON_DESTROY eseménykor lesz meghívva
// Egyenértékű az onDestroy()-val
}
}
}