2010-12-07 33 views
0

Je rencontre des problèmes lors du chargement de plusieurs images. Mon application était en panne parce que je chargeais trop d'images. J'ai essayé d'ajouter un chargement intelligent mais cela ne résout pas le problème. J'ai changé l'image méthode imagenamed pour charger tout en utilisantProblème de chargement de plusieurs images

UIImage *newImg = [[UIImage alloc] initWithContentsOfFile: 

puis l'ajouter à un tableau, puis libérer tout si je reçois un avertissement de mémoire ou quand je change viewcontroller.

La question se pose en raison du fait que la mise en garde n'a pas reçu de mémoire ne se produit jamais et l'application lancers francs seulement:

Programme signal reçu: « 0 ».

Maintenant, quelqu'un a-t-il des suggestions? Est-ce que je devrais utiliser calayers au lieu de uiimageviews? Cela fera-t-il une différence? Les instruments ne montrent aucune fuite majeure et le tas ne dépasse jamais les 2-3 mb.

Merci

+0

avez-vous essayé d'utiliser [UIImage imageWithContentsOfFile:] ??? – KingofBliss

+0

Yup c'est ce que j'utilise. – user281300

+0

Etes-vous sûr que la mémoire est votre problème? Pas une exception ou un BAD_ACCESS? Que se passe-t-il lorsque vous simulez un avertissement de mémoire? – tonklon

Répondre

0

Essayez de zéro votre imageViews avant de relâcher. Aussi, avant d'affecter les images à vos vues d'image, de sorte que si vous avez une image précédemment dans cette image, cette mémoire sera effacée.

+0

Merci pour la suggestion que je vais essayer, mais le réglage de zéro force-t-il l'image à être effacée de la mémoire? – user281300

0

Ne chargez pas toutes les images en même temps. Chargez des images selon l'exigence. Postez votre code dans ce fil. Vous avez raison votre code fuit la mémoire quelque part.

+0

C'est ce que je fais, mais une page doit montrer 10 image et ils sont 2mb +, j'ai déjà dit au client de les réduire et avoir des vignettes à la place. – user281300

+0

Oui. C'est vrai. En raison de la taille de l'image, vous pouvez également faire face à ce problème. – Raxit