Мой видеоплеер теряет память только на iPad и только при нажатии кнопки «Готово».Если фильм воспроизводится до конца, он очищается должным образом.Вот код воспроизведения:
mViewPlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[self movieURL:@"mymovie"]];
[self.parentViewController presentModalViewController:mViewPlayer animated:YES];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(exitedFullscreen:) name:MPMoviePlayerPlaybackDidFinishNotification object:[mViewPlayer moviePlayer]];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(exitedFullscreen:) name:MPMoviePlayerDidExitFullscreenNotification object:[mViewPlayer moviePlayer]];
А вот код очистки:
- (void)exitedFullscreen:(NSNotification*)aNotification
{
MPMoviePlayerController *player = [aNotification object];
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:player];
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerDidExitFullscreenNotification object:player];
[self.parentViewController dismissModalViewControllerAnimated:YES];
NSLog(@"retainCount theMovie: %i", [mViewPlayer retainCount]);
player.initialPlaybackTime = -1;
[player pause];
[player stop];
NSLog(@"retainCount theMovie: %i", [mViewPlayer retainCount]);
[player release];
player = nil;
// [mViewPlayer release];
mViewPlayer = nil;
}
Значение retainCount равно 3, как при печати выше, так и при нормальном завершении фильма иликогда нажата кнопка «Готово».
Я также пытался использовать MPMoviePlayerController с теми же результатами.Я пытался использовать подготовленную игру и 10 различных методов для вызова контроллера MPMoviePlayer *, но он всегда протекает, когда я нажимаю кнопку Готово.
Любая помощь будет принята с благодарностью.Спасибо.