2010-08-02 6 views
0

J'ai donc plusieurs viewControllers, chacun crée des images en utilisant "imageWithContentsOfFile" afin de conserver la mémoire, puis définit les objets à zéro et les libère dans la méthode dealloc. Il n'y a pas de fuite de mémoire. Le problème est la mémoire se construit encore lors de la commutation des vues. Ainsi, par exemple, je serai dans view1 et il utilisera 8 Mo de mémoire, puis je passerai à view2 et à nouveau à view1 et il utilisera maintenant 10 Mo de mémoire. J'ai vérifié les allocations dans les instruments et ce sont les images qui l'utilisent. Y at-il quelque chose que je dois faire pour vider la mémoire ou quelque chose?Les images iPhone sont toujours stockées en mémoire?

Merci d'avance!

+0

Lors de la commutation entre les vues, vérifiez simplement si la méthode dealloc de la vue précédente est appelée ou non. Si vous poussez les vues en utilisant le contrôleur de navigation alors je suppose que cela causera le problème. –

Répondre

0

Vous ne devez pas appeler le [object release] avant de définir object = nil?

Désolé, je suis à la maison et je n'ai pas de mac ici, donc je ne peux pas tester ce qui se passe quand vous le faites dans l'autre sens.

De même, en disant qu'il n'y a pas de fuite, avez-vous vérifié en utilisant l'outil Fuites? Je ne pense pas que l'outil détecte toutes les fuites, car j'ai essayé d'y mettre une fuite mais Leaks n'a pas pu le voir.

+0

Oui, mettre l'objet à zéro et le relâcher entraînera la libération de zéro, ce qui ne fait rien. Si c'est ce qu'il fait, ce serait le problème. – Kalle

Questions connexes