我有一个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的内存
答案 0 :(得分:0)
我认为你应该在dealloc函数中将此MPMoviePlayerController
分配给nil,当这个视图被销毁时或者当你完成这部电影时:
- (void)dealloc{
mpc = nil;
}
我认为这不是问题。您可以运行PROFILE来检查内存泄漏。