développement iPhone - prévention des fuites

voix
4

Quand je lance mon application avec Fuites et afficher les détails étendues pour l'une des fuites, il me faut une ligne particulière dans mon code, mais je ne sais pas quoi faire après ça!

Par exemple, Fuites montre un malloc sur cette ligne

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

Mais je ne sais pas ce que le problème est dans la déclaration! Quelqu'un peut-il s'il vous plaît me dire comment interpréter ces problèmes et éviter les fuites.

Merci.

Edit: En ce qui concerne la question précédente, j'ai eu, NSZombieEnabled fait en sorte qu'aucun objet ne désallouées et cela augmente l'utilisation de la mémoire. Donc, lors des tests avec Fuites, assurez-vous que ce paramètre est supprimé de votre application. Je pensais que cela pourrait aider quelqu'un.

Créé 24/01/2009 à 06:02
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
3

Trouvé la réponse. La réponse de Fredrik m'a fait réfléchir. Je suis en train de créer une instance de NSURLResponse et NSError que je suis passé ensuite à la méthode sendSynchronousRequest. Selon le document de gestion de la mémoire de l'iPhone, cela ne devrait pas être fait. Nous avons juste besoin de passer une référence aux objets NSURLResponse et NSError à la méthode et la méthode se charge de créer et de libérer les objets.

Hope qui aide quelqu'un d'autre. Merci beaucoup pour tout le monde de réponses.

Créé 26/01/2009 à 15:24
source utilisateur

voix
1

Une fuite dans la méthode que vous mentionnez ci-dessus était censé être fixé pour la sortie de l'iPhone OS 2.2. Quelle version de l'iPhone OS utilisez-vous?

Créé 24/01/2009 à 20:28
source utilisateur

voix
1

Avez-vous libérez la réponse et les objets d'erreur après l'appel? Ceux-ci sont peut-être alloués à l'appel.

Créé 24/01/2009 à 10:58
source utilisateur

voix
1

Le volet Détail étendu vous donnera traces de pile vous montrant la pile à la fuite. En général, un bon endroit pour commencer est de regarder vos méthodes et la dernière méthode de votre code dans la pile et de voir ce que vous faites mémoire sage là-bas, il semble que vous pourriez être un objet sur retenir. Commencez là pour l'instant

Créé 24/01/2009 à 07:04
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more