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
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à! –
Oups. Je viens d'ajouter tout le code pertinent. – dugla
Exécutez-vous ceci dans Instruments avec NSZombieEnabled? Cela peut provoquer de fausses «fuites». – nall