2012-02-24 2 views
0

Так что анализатор теперь говорит мне, что у меня есть утечка памяти. В приведенной ниже функции говорится «потенциальная утечка объекта, выделенного в« The Audio »утечка памяти, которую я не могу решить

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

Я пробовал «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]; 

}

ответ

0

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

Смежные вопросы