2009-12-03 3 views
2

Je vis sur Instruments depuis quelques heures avec une fuite de mémoire déroutante. Je l'ai isolé à cette ligne de code dans une sous-classe NSOperation je l'ai écrit:initWithContentsOfURL fuit la mémoire dans la sous-classe NSOperation. Quelqu'un d'autre voit cela?

NSData *myData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:myURLString]]; 

périodiquement ce fuira 3500 octets. Est-ce que quelqu'un d'autre voit ça? Si oui, y a-t-il un travail?

Merci d'avance.

MISE À JOUR:

Voici la section pertinente du code dans le corps principal() de ma sous-classe NSOperation:

- (void)main { 

// ... 

NSData *sequenceData = 
[[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:concatenatedURLString]]; 

NSString *sequenceString = 
[[NSString alloc] initWithBytes:[sequenceData bytes] length:[sequenceData length] encoding:NSUTF8StringEncoding]; 

NSDictionary *result = [NSDictionary dictionaryWithObjectsAndKeys: 
self.chromosome, @"chromosome", 
[NSNumber numberWithInt:self.basepairStart], @"basepairStart", 
[NSNumber numberWithInt:self.basepairEnd], @"basepairEnd", 
sequenceData, @"sequenceData", 
sequenceString, @"sequenceString", 
nil]; 

[sequenceData release]; 
[sequenceString release]; 

[self.target performSelectorOnMainThread:self.action withObject:result waitUntilDone:NO]; 


} 

Comme vous pouvez le voir sequenceData et sequenceString sont correctement libérés. De plus, j'ai confirmé que tous les ivars de cette sous-classe (chromosome, etc.) sont correctement gérés en mémoire.

-Doug

+0

Nous NeD pour voir plus de code pour savoir quoi que ce soit utile. Comment nettoyez-vous? Si vous n'êtes pas, alors il y a le problème là! –

+0

Oups. Je viens d'ajouter tout le code pertinent. – dugla

+0

Exécutez-vous ceci dans Instruments avec NSZombieEnabled? Cela peut provoquer de fausses «fuites». – nall

Répondre

0

Vous devez libérer ou AutoRelease myData, sinon il fuira selon la Cocoa Memory Management Rules

+0

Juste ajouté le code approprié montrant la libération appropriée de l'instance NSData. – dugla

Questions connexes