Sobes.tech
Middle

Was passiert mit UIViewController beim Minimieren der Anwendung?

sobes.tech KI

Antwort von AI

Beim Minimieren der Anwendung durchläuft der aktuell angezeigte UIViewController die folgenden Phasen des Lebenszyklus:

  1. viewWillDisappear: Diese Methode wird aufgerufen, bevor die Ansicht des Controllers unsichtbar wird. Hier können Sie den UI-Zustand speichern oder Operationen abbrechen.
  2. viewDidDisappear: Diese Methode wird aufgerufen, nachdem die Ansicht des Controllers vollständig ausgeblendet wurde.
  3. applicationWillResignActive: Wird im AppDelegate aufgerufen, bevor die Anwendung vom aktiven in den inaktiven Zustand wechselt (z.B. beim Minimieren oder bei eingehendem Anruf).
  4. applicationDidEnterBackground: Wird im AppDelegate aufgerufen, nachdem die Anwendung in den Hintergrund gewechselt ist. In diesem Zustand hat die Anwendung eine begrenzte Zeit, um Aufgaben auszuführen, und kann vom System pausiert oder beendet werden. Der UIViewController bleibt im Speicher, aber seine Ansicht wird nicht angezeigt.

Wenn die Anwendung im Hintergrund bleibt und nicht vom System beendet wird, durchläuft der UIViewController beim Zurückkehren in den aktiven Zustand die umgekehrten Phasen:

  1. applicationWillEnterForeground: Wird im AppDelegate aufgerufen, bevor die Anwendung vom Hintergrund in den Vordergrund wechselt.
  2. applicationDidBecomeActive: Wird im AppDelegate aufgerufen, nachdem die Anwendung wieder aktiv wurde.
  3. viewWillAppear: Wird aufgerufen, bevor die Ansicht des Controllers sichtbar wird. Hier kann die UI aktualisiert werden.
  4. viewDidAppear: Wird aufgerufen, nachdem die Ansicht des Controllers sichtbar wurde.

Es ist wichtig zu beachten, dass das Objekt UIViewController beim Minimieren nicht aus dem Speicher entfernt wird, es sei denn, das System entlädt es explizit aufgrund von Ressourcenmangel (was selten vorkommt und von vielen Faktoren abhängt). Die Ansicht (view) des Controllers kann ebenfalls aus dem Speicher entladen werden (viewWillUnload, viewDidUnload - Methoden wurden in iOS 6 entfernt), wenn sie momentan nicht benötigt wird und das System Speicher benötigt. In diesem Fall wird die Ansicht beim nächsten Zugriff neu erstellt.