Junior
How do you determine in an Activity that it has been destroyed?
sobes.tech AI
Answer from AI
Override the onDestroy() method.
class MyActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
}
override fun onDestroy() {
super.onDestroy()
// This block of code will execute after the Activity is destroyed
// You can release resources, unsubscribe from Observables, etc.
}
}
Another way is to use LifecycleObserver with LifecycleOwner Activity.
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() {
// This method will be called on the ON_DESTROY event
// Equivalent to onDestroy()
}
}
}