Ich habe die WWDC 2010 über die Einführung von Multitasking gesehen und ich habe angefangen, unsere App zu aktivieren, allerdings habe ich eine Frage bezüglich der Freigabe von nicht sichtbaren Ansichten.iOS Multitasking: Vom System vorgenommene Reduzierungen beim Eingeben des Hintergrunds
Laut dem Vortrag (Sitzung 105 - Multitasking auf iPhone OS anwenden, Teil 1 - 00:34:50) wird angegeben, dass das System "nicht sichtbare UIViewController-Ansichten" freigibt, wenn es den Hintergrund eingibt. Während meiner Tests (im Simulator) sehe ich das jedoch nicht.
Die Methoden -viewDidUnload
werden nicht aufgerufen, und nach Aufruf des Vordergrunds und Anzeige eines zuvor versteckten VC wird die Methode -loadView
ebenfalls nicht aufgerufen. Daher werden die versteckten VC-Ansichten in meinem UITabBarController überhaupt nicht veröffentlicht, im Gegensatz zu dem, was sie in der Diskussion gesagt haben. Irgendwelche Ideen?
Es gibt keine Erwähnung davon in der "Moving to the Background" Dokumentation, nur in der Diskussion.
Jede Klärung würde sehr geschätzt werden.
Interessant! Das Auslösen von Speicherwarnungen im Hintergrund bewirkt, dass '-viewDidUnload' aufgerufen wird, sobald die App wieder in den Vordergrund gelangt. Meine einzige Frage ist, ob das System diese Warnungen auslöst (während einer Situation mit wenig Speicher), bevor es anfängt, nach beendenden Apps zu suchen? Diese nicht benötigten Ansichten belegen den Arbeitsspeicher und zählen in Richtung der "schmutzigen Größe", die iOS betrachten wird. –
Ja, die Warnungen treten auf, bevor Apps beendet werden. Ich glaube, es gibt mindestens zwei verschiedene Ebenen, auf die Sie hingewiesen werden. Ich denke drei Gesamtniveaus. Obwohl ich den Doc nicht finden kann, der es im Moment erklärt. – Mike