2011-06-29 40 views
0

我是新來的內存管理,我已經搜索了類似的主題,但沒有找到這樣的簡單示例導致內存泄漏。我正在用Instruments測試我的應用程序,它說我在pushViewController中有144字節的內存泄漏。內存泄漏pushViewController

RootViewController的:

- (IBAction)optionsAction 
{ 
    optionsViewController *ovc = [[optionsViewController alloc] init]; 
    // MEMORY LEAK 100.0% 
    [self.navigationController pushViewController:ovc animated:YES]; 
    [ovc release]; 
} 

optionsViewController.h

@interface optionsViewController : UIViewController <ADBannerViewDelegate> { 
    UISlider *volumeSlider; 
    UISwitch *soundSwitch; 
    SystemSoundID SSID; 
} 
@property (nonatomic, retain) IBOutlet UISwitch *soundSwitch; 
@property (nonatomic, retain) IBOutlet UISlider *volumeSlider; 
@property (assign) SystemSoundID SSID; 

@end 

optionsViewController.m

- (void)dealloc 
{ 
    [volumeSlider release]; 
    [soundSwitch release]; 
    AudioServicesDisposeSystemSoundID(self.SSID); 
    [super dealloc]; 
} 

你有什麼想法可能是此泄漏的原因是什麼?你能說我應該在哪裏尋找問題,rootViewController或optionsViewController?

+0

檢查'optionsViewController'控制器的init函數。 – Jhaliya

+0

Init is deafult: - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if(self){ //定製初始化 } return self; } – pawel221

回答

0

我認爲AppSoundEngine可以簡化你的生活:)它是系統聲音的客觀c包裝,易於使用。您可以處理專業課的聲音遊戲能力。您的視圖控制器將減少壓力:)