утечка памяти, которую я не могу решить - PullRequest
0 голосов
/ 24 февраля 2012

Итак, анализатор говорит мне, что у меня утечка памяти. В функции ниже говорится «потенциальная утечка объекта, выделенного в« theAudio »

Я думаю, что это говорит правду, потому что приложение работает хорошо в течение нескольких минут, а затем медленно падает.

Я пробовал 'autorelease', но он говорит мне, что 'объект отправил autorelease слишком много раз'.

Извините, что я вредитель, но у кого-нибудь есть идеи по этому поводу?

-(void) playFile:(NSString*) nameOfFile { // plays audio file passed in by a string

    fileLocation = nameOfFile;
    NSString *path = [[NSBundle mainBundle] pathForResource:nameOfFile ofType:@"mp3"];
    AVAudioPlayer* theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL       fileURLWithPath: path] error:NULL];
[theAudio play];
[fileLocation release];

}

1 Ответ

0 голосов
/ 24 февраля 2012

Не использовал это, но вам, вероятно, нужно сохранить retain на плеере (как вы делаете), но затем release это, когда вы закончите с этим, например, когда вы получите один из AVAudioPlayerDelegate методов (так что вам нужно реализовать делегат игрока).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...