2011-06-29 41 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包装,易于使用。您可以处理专业课的声音游戏能力。您的视图控制器将减少压力:)