Я вызываю функцию повторно с помощью цикла, и цикл выполняется внутри потока. В потоке есть пул авторезистов.Objective-C управление памятью странные результаты
У меня есть следующий код внутри этой функции:
NSXMLDocument* undoXML;
NSData* undoData = [NSData dataWithContentsOfFile:undoFilePath];
undoXML = [[NSXMLDocument alloc] initWithData:undoData options:NSXMLDocumentTidyXML error:&err];NSData* undoData2;
undoData2 = [undoXML XMLData];[undoData2 release];
[undoXML release];
Я получаю следующие странные результаты:
- Моя программа утечки памяти каждый раз, когда эта функция вызывается в цикле.
- Когда я добавить следующий код в функции:
NSData* undoData3;
undoData3 = [undoXML XMLData];
[undoData3 release];
Моя программа утечки даже больше памяти, чем раньше.
Я действительно смущен, и мне очень нужна помощь в выяснении того, что происходит. Может быть, мой автореферат работает неправильно? Почему это происходит?
странно, что это происходит, так как вы слишком много выпускаете, не слишком мало (undoData2 автореализован, поэтому вы не должны его отпускать) – cobbal