Я использую MPMoviePlayerController для воспроизведения моих фильмов один за другим. Я освобождаю контроллер после завершения воспроизведения, но все еще вижу некоторую остаточную память в инструменте выделения объектов ... любые идеи по этому поведению. Я ожидаю, что после того, как фильм закончится и контроллер будет выпущен, не должно ли распределение объектов вернуться к исходной позиции?
Вот как я создаю экземпляр контроллера ..
//Initialize a MPMoviePlayerController object with the movie.
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
//Set the scaling mode to fill the screen with the movie.
moviePlayer.scalingMode = MPMovieScalingModeAspectFill;
//Add an observer so we can be told when the movie has finished playing.
[[NSNotificationCenter defaultCenter] addObserver:self selector: @selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];
[moviePlayer play];
После того, как воспроизведение закончится ... Я освобождаю контроллер, как это .... и он становится полностью освобожденным ... но все еще есть некоторая остаточная память ...
// Только от 3.0 или выше
moviePlayer.initialPlaybackTime = -1.0;
[moviePlayer stop];
[moviePlayer release];
moviePlayer = nil;
Не беспокойтесь об утечке NSString, она была исправлена ... даже после этого я вижу, что MPMoviePlayerController оставляет некоторые остаточные выделения памяти