iPad iOS 4.2のMPMoviePlayerViewControllerに問題があります。アプリケーションはビデオを再生しますが、ビデオが停止するとメモリは解放されません。MPMoviePlayerViewControllerメモリの問題
MPMoviePlayerViewController * videoPlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:articleUrl];
[videoPlayer moviePlayer].movieSourceType = MPMovieSourceTypeFile;
[videoPlayer moviePlayer].controlStyle = MPMovieControlStyleDefault;
[videoPlayer moviePlayer].scalingMode = MPMovieScalingModeAspectFit;
[videoPlayer moviePlayer].fullscreen = NO;
self.playerViewController = videoPlayer;
[videoPlayer release];
videoPlayer = nil;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(movieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:[playerViewController moviePlayer]];
MPMoviePlayerController *player = [playerViewController moviePlayer];
CGRect playerFrame = CGRectMake(20, 20, self.view.frame.size.width - 40, self.view.frame.size.height - 40);
player.view.frame = playerFrame;
[self.view addSubview:player.view];
[player play];
とmovieFinishedCallbackがあります:メソッドのコード:私は、次のコードを使用してビデオプレーヤーを作成するには
- (void) movieFinishedCallback:(NSNotification*) aNotification {
MPMoviePlayerController *player = [aNotification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:player];
[player.view removeFromSuperview];
[player release];
player = nil;
}
を誰もがそれを手伝ってくれるか?私はこの問題に関連した多くの話題を読んだが解決策は見つけられていない。
これはあなたの質問に答えることはできませんが、あなたのコードにバグがあります。 'player release'という行は' self.videoPlayerController = nil'でなければなりません。さもなければ、あなたのプレーヤーを解放しますが、それにポインタを置いてください(非常に悪い!) – deanWombourne