2010-03-08 4 views
1

Salut à tous, j'ai construit une application pour un client et une partie utilise l'application exemple Apple TopSongs pour télécharger des données sur un autre sujet. J'ai finalement eu assez de travail pour commencer à tester cette partie et trouvé> 1000 fuites !!! Un examen plus approfondi des fuites m'a fait vérifier TopSongs pour les fuites, car aucune de mes méthodes étaient dans les rapports de fuites. Running TopSongs a renvoyé 26 fuites. Pas tout à fait sûr de savoir comment les réparer, ou s'ils font partie d'une bibliothèque d'Apple. Je parie que vous demandez s'il en a 26, pourquoi en avez-vous> 1000? Eh bien, j'utilise leur échantillon pour faire environ 48 appels à des services web pour obtenir toutes les informations nécessaires lors de l'installation initiale (48 appels x 26 fuites = 1248 fuites !!). Plus tard, il fait au moins 12 appels + 4 pour vérifier les informations mises à jour sur d'autres sections de l'application. Vous ne pouvez pas faire une chose à ce sujet, ne pouvez pas faire un appel, ou moins d'appels, s'il vous plaît ne pas faire de commentaire sur cette partie. J'ai vu des gens répondre à des messages qui ne répondent pas forcément à la question initialement posée par l'utilisateur. Dans ce cas, est-ce que quelqu'un a essayé de réparer les fuites, ou est-ce un bug dans les bibliothèques d'Apple?Sample App TopSongs d'Apple a 26 fuites

Merci beaucoup.

Répondre

6

Ceci est plus vraisemblablement dû à un bogue dans un exemple de code bâclé que la bibliothèque elle-même; assurez-vous de bien vous familiariser avec les techniques de gestion de la mémoire de Cocoa, puis attachez-vous à la saison de la chasse au wabbit.

+0

lol .................. – Rev316

+0

LMAO! Ouais, été fait ça. Haine d'avoir à ** vérifier ** leur code. Mais si ça doit être fait, ça doit être fait! un-up pour la réponse amusante! – RoLYroLLs

1

Comme indiqué précédemment sur Stack Overflow, certaines fuites signalées ne se produisent que dans le simulateur. Alors attention à cela, et utilisez "construire et analyser" dans le menu de construction pour laisser CLANG vous aider à trouver les fuites de mémoire.

+0

Je n'ai pas Construire et Analyser. J'ai commencé ce projet avant d'essayer de passer à Snow Leopard. J'ai Leopard 10.5.8 w/Xcode 3.1.4 et iPhone SDK 3.1.2. Dès que j'aurai fini, je vais me mettre à jour. – RoLYroLLs

+0

@RoLYroLLs: Vous pouvez toujours installer manuellement l'analyseur statique Clang de l'extérieur de Xcode pour l'utiliser sur Leopard: http://clang-analyzer.llvm.org/ –

+0

Croyez-moi, si vous êtes habitué, vous ne pouvez pas vivre sans plus ... – bartvdpoel

0

Installation de Snow Leopard et Xcode 3.2 avec clangage intégré. Analysé le code et n'a eu aucun problème. J'ai couru l'application encore une fuite d'instrument sur l'iPhone et avait encore 26 fuites. Décidé de ne pas utiliser l'exemple de code d'Apple pour cela.

******* REMARQUE:

Ce fut la réponse que j'accepté, mais parce qu'il ne répond pas aux questions, je l'ai retiré et accepté une réponse qui répond à la question.