Ich versuche, die Speicherverwaltung in einer iPhone-App zu verbessern. Es hat geholfen, IBOutlets auf nil in viewDidUnload zu setzen, aber ich frage mich, ob ich jede Speicherverwaltung um die statische UIImageViews in meine Nibs, die nicht bis zu jeder IBOutlet angeschlossen sind tun müssen. Oder tut iOS kümmern sich um sie gut von selbst?
Antwort
Zu viele Anzeigen?Im Allgemeinen müssen Sie sich nicht um die Verwaltung von Assets kümmern, die nicht mit einem Ausgang verbunden sind - einschließlich UIImageView-Assets - in NIBs. Sie werden freigegeben, wenn die Ansicht freigegeben wird.
Wenn Sie sich Sorgen darüber machen, wie der Speicher in Ihrer Anwendung genutzt und freigegeben wird, verwenden Sie am besten Instrumente, um den Speicherverbrauch zu profilieren, wenn der betreffende View Controller geladen und entladen wird. Sie sollten sehen, dass der Speicherverbrauch ansteigt, wenn der VC geladen wird, und wieder auf das vorherige Niveau zurückfällt, wenn der VC freigegeben wird. Wenn Sie den VC viele Male laden/entladen und Sie einen stetigen Anstieg des Speicherverbrauchs feststellen, sollten Sie sich Sorgen machen.