MPMoviePlayerController耗尽内存

时间:2014-04-29 01:07:09

标签: ios iphone xcode memory-management mpmovieplayercontroller

我有一个UIPageViewController作为应用程序的演练,我会显示如何使用该应用程序的简短视频。

当用户完成转到主应用程序时,我让用户按下按钮。但是,Debug Navigator中的Xcode显示应用程序仍在使用53 MB的内存。

有没有办法从电影播放器​​中释放内存?这是播放电影的代码。

-(IBAction)playMovie {



mpc = [[MPMoviePlayerController alloc] initWithContentURL:self.imageFiles];
[mpc setMovieSourceType:MPMovieSourceTypeFile];
[[self view] addSubview:mpc.view];
[mpc setFullscreen:NO];

[mpc.view setFrame:CGRectMake(45, 129, 229, 397)];

[mpc play];

}

当用户按下按钮移动通过电影填充的介绍屏幕进入主应用程序时,我会调用此信息:

- (IBAction)ready:(id)sender {


UIStoryboard *storyBoard;
storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
PageContentViewController *pageContentViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PageContentViewController"];
[pageContentViewController.mpc stop];
pageContentViewController.mpc = nil;
UIViewController *viewController =
[storyBoard instantiateViewControllerWithIdentifier:@"ViewController"];
[self presentViewController:viewController animated:YES completion:nil];


}

到目前为止,应用程序仍然分配了50 MB的内存

1 个答案:

答案 0 :(得分:0)

我认为你应该在dealloc函数中将此MPMoviePlayerController分配给nil,当这个视图被销毁时或者当你完成这部电影时:

- (void)dealloc{
  mpc = nil;
}

我认为这不是问题。您可以运行PROFILE来检查内存泄漏。