2016-07-07 13 views
0

Ich habe eine sehr Image-schwere App. (Und bevor du sagst: nein, ich kann die Anzahl der Bilder nicht reduzieren). Dies bedeutet, dass eine Menge von UIImageView in meinen Storyboard-Dateien läuft.Reduzieren App-Speicher-Fußabdruck

Die Gesamtstruktur der App ist so etwas wie diese:

enter image description here

Die Content View Controller ist derjenige, die Bild schwer und zu jeder Zeit bis zu etwa 12 von ihnen können sich in einer im Speicher sein Einmal wegen des Seitenaufruf-Controllers.

Ich habe Speicherwarnungen und Lecks bekommen (aus meinen Untersuchungen sind das separate unabhängige Ereignisse) und das System hat die App gelegentlich beendet.

Abgesehen von meiner eigenen Implementierung von UIPageViewController was kann ich tun, um den Speicherbedarf zu reduzieren?

Antwort

0

Ich glaube nicht, dass Sie Ihre eigene Implementierung von UIPageViewController erstellen müssen, müssen Sie nur UIPageViewControllerDelegate/DataSource und UIViewController weise verwenden.
Zum Beispiel hat UIViewController eine Methode, die während Speicherwarnungen ausgelöst wird, werden Sie schwere Bilder auf VCs loswerden, die nicht innerhalb dieser Methode sichtbar sind?

+0

Nein, noch nicht. Ich habe damit begonnen, View-Controller zu veröffentlichen, die von 'UITableView' verwaltet werden, sobald sie nicht mehr sichtbar sind. Es sollten also maximal 4 View-Controller gleichzeitig im Speicher sein. –

+0

Auch. Wie kann ich am besten feststellen, ob ein View-Controller sichtbar ist, wenn eine Speicherwarnung ausgelöst wird? Und wenn ich alle schweren Bilder entferne, werden sie neu geladen, wenn der Controller als nächstes sichtbar wird? –

+0

Überprüfen Sie auch, ob Ihre Bilder irgendwo zwischengespeichert oder aufbewahrt werden. Wenn Sie sie mit UIImage (named :) laden, werden sie zwischengespeichert und das System sollte sie nach einer Speicherwarnung freigeben. – Andrea