Junior
Welke methoden van de levenscyclus van Activity ken je en hoe worden ze uitgevoerd?
sobes.tech AI
Antwoord van AI
onCreate(): Wordt aangeroepen bij de eerste creatie van de Activity. Gebruikt om de gebruikersinterface en gegevens te initialiseren.onStart(): De Activity wordt zichtbaar voor de gebruiker.onResume(): De Activity wordt actief en bevindt zich op de voorgrond. De gebruiker kan ermee interageren.onPause(): Wordt aangeroepen wanneer de Activity naar de achtergrond gaat of een andere Activity deze gedeeltelijk bedekt. Gebruikt om de staat op te slaan die snel hersteld moet worden.onStop(): De Activity is niet meer zichtbaar voor de gebruiker. Gebruikt om niet-gebruikte bronnen vrij te maken.onDestroy(): Wordt aangeroepen voordat de Activity wordt vernietigd. Gebruikt om definitieve bronnen op te ruimen.onRestart(): Wordt naonStop()aangeroepen, wanneer de Activity weer zichtbaar wordt.
Uitvoeringsvolgorde bij het starten: onCreate() -> onStart() -> onResume().
Volgorde bij het naar achteren gaan (bijvoorbeeld door op de Home-knop te drukken): onPause() -> onStop().
Volgorde bij het terugkeren uit de achtergrond: onRestart() -> onStart() -> onResume().
Volgorde bij het vernietigen van de Activity: onPause() -> onStop() -> onDestroy().
Bij het draaien van het scherm wordt de Activity vernietigd en opnieuw gemaakt. Volgorde: onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume(). Om de staat op te slaan wordt onSaveInstanceState() gebruikt (aangeroepen vóór onStop()) en het herstellen in onCreate() of onRestoreInstanceState() (aangeroepen na onStart()).
class MyActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main) // UI initialiseren
// Herstellen van de staat uit savedInstanceState
}
override fun onStart() {
super.onStart()
// Activity wordt zichtbaar
}
override fun onResume() {
super.onResume()
// Activity is op de voorgrond, klaar voor interactie
}
override fun onPause() {
super.onPause()
// Activity gaat naar de achtergrond
// Snel herstelbare staat opslaan
}
override fun onStop() {
super.onStop()
// Activity is niet zichtbaar
// Resources vrijmaken
}
override fun onDestroy() {
super.onDestroy()
// Activity wordt vernietigd
// Definitieve opruiming van resources
}
override fun onRestart() {
super.onRestart()
// Activity keert terug uit de achtergrond
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
// Staat opslaan vóór vernietiging
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
// Staat herstellen
}
}