2010-05-08 75 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在哪裏消失。例如,你可能有內存泄漏的對象也在做很多事情。

相關問題