Je travaille sur une application iPhone, et j'ai eu ce journal étrange parfois lors de la manipulation d'une carte:
ImageIO_Free: ptr 0xdf0f000 got double released??? (16384 bytes)
5 Réponses :
Il s'agit probablement d'un avertissement que le même objet a envoyé l'objet imageOo_free une version supplémentaire qu'il a envoyé un conserver explicite ou implicite. Imageio_free est surveillé et meurt ensuite de manière inattendue l'accident. p>
sans ma boule de cristal, je ne peux que deviner, mais vous êtes probable lire le Guide de programmation de la gestion de la mémoire a >, surtout le Règles de gestion de la mémoire a >! Deux fois. P> libérer code> D quelque chose manuellement qui était déjà marqué pour
Autoréleuillet code>. P>.
Eh bien, c'était l'une des premières choses que j'avais pensées. J'ai vérifié mon code deux fois, pas de double libération ... L'étrange chose est que cela n'arrive que de temps en temps. J'ai aussi des objets MKPinannotationViews sur la carte.
Cela ne se produit que par intermittente signifie probablement qu'il y a une condition de course. Quoi qu'il en soit, votre message d'erreur nous dit qu'il y a une double version, vous ne nous donnez plus rien à travailler avec. Qu'attendez-vous?
Ouais, je sais, mais le problème se produit même avec une simple vue MkmapView sans rien d'autre. J'ai essayé en créant un nouveau fichier avec .xib associé, ajouté un MkmapView, joué avec la carte et a obtenu la même erreur. Je me demandais donc s'il s'agissait d'un problème lié au cadre et si quelqu'un d'autre a été confronté au même problème.
Votre avantage semblait résoudre le problème pour moi. J'ai une cllucciation que je publiais juste après le zoom. Dès que j'ai commenté la déclaration [Valeur actuelle], il a cessé de lancer Exc_Bad_Access avec ^^ ce message.
J'ai ce problème au hasard aussi ... p>
imageo_free: PTR 0xd700000 a le double libéré ??? (16384 octets) hachage: 0 p>
Je ne sais pas comment corriger. Semble être un problème avec le cadre. P>
Il y a un seul fil sur les forums de développeur Apple qui diffuse un peu plus de lumière sur ceci: " Kit de carte accident connexe? " p>
L'individu qui a répondu à la poste a des informations de diagnostic beaucoup plus détaillées et montre que le crash se passe dans un fil séparé, mais il ne reprogeait pas de threads pouvant entraîner le comportement / l'accident qu'il obtient. P >
Vous devriez Fichier un bug avec Apple . P>
Cela vient de me passer et je crois que j'ai la réponse.
Le problème semble être d'ajouter des annotations à une vue de carte. Il semble que lorsque vous appelez "Addannotations" sur une instance MkapView, l'objet MKMAPView ne conserve pas ces objets. Ainsi, après avoir joué avec la carte et déplacez les annotations dans et hors de vue, lorsqu'il arrive le temps de reformuler les annotations, la mémoire a été publiée et vous obtenez une erreur Exc_bad_access. P>
Pour résoudre ce problème, retenez simplement les objets pour ajouter comme annotations. Cela peut être accompli en ayant une variable d'instance NSMutableArraRay des annotations actuelles des cartes. Chaque fois que vous appelez les aadanotations, ajoutez également ces objets à ce tableau retenu et vous devez être tous définis. P>
dans votre fichier .h Fichier: P>
if (self.feeds == nil) { self.feeds = [NSMutableArray array]; } [self.feeds addObjectsFromArray:newPois]; // newPois is an array of annotations [mapView addAnnotations:newPois];