2010-05-08 74 views
0

我正在为iphone写一个音乐游戏。我差不多完成了,这是唯一让我无法实现的问题。任何帮助解决这个问题都非常感谢。调用addsubview再次导致放缓

这是我做的: 在我的appDelegate我我的菜单 - 视图 - 屏幕添加到窗口。菜单视图屏幕充当容器并控制将哪个视图呈现给用户。

手段,菜单 - 视图 - 屏幕上我有4个按钮(新游戏,选择,常见问题解答,高分)。 当用户点击一个按钮事情发生这种情况:

if (self.gameViewController == nil) 
{ 
    GameViewController *viewController = [[GameViewController alloc] initWithNibName:@"GameViewController" bundle:nil]; 
    self.gameViewController = viewController; 
    [viewController release]; 
} 
[self.view addSubview:self.gameViewController.view]; 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleSwitchViewNotificationFromGameView:) name:@"SwitchView" object:gameViewController]; 

当用户返回到菜单,这段代码被执行:

[[NSNotificationCenter defaultCenter] removeObserver:self]; 
[self.gameViewController viewWillDisappear:YES]; 
[self.gameViewController.view removeFromSuperview]; 

这个工作正常,所有屏幕但不对于游戏屏幕(这是唯一一个用户互动堆) 意味着iPhone的响应速度(播放音调时)变得非常慢。 当我第一次显示游戏视图时,性能很好。一旦我将它添加到menu-views-container-subviews(addsubview)(基本上打开一个新游戏),它会开始变慢。 任何想法是什么原因导致(或解决)这个?

感谢满口

问候 汤姆

回答

0

好了,把我的头顶部,这并不听起来像一个控制器的问题。这听起来像是其他事物仍在运行或咀嚼记忆的问题。我建议使用分析工具来查看是否可以指出CPU在哪里消失。例如,你可能有内存泄漏的对象也在做很多事情。

相关问题