开发者

memory leak in pushViewController

开发者 https://www.devze.com 2023-03-15 23:31 出处:网络
I\'m new to memory management, and i\'ve searched for similar topics, but didn\'t find such simple example causing memory leak. I\'m testing my application with Instruments and it says I have memory l

I'm new to memory management, and i've searched for similar topics, but didn't find such simple example causing memory leak. I'm testing my application with Instruments and it says I have memory leak of 144 Bytes in 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];
}

Have you any idea what could开发者_开发技巧 be the reason of this leak? Can you say where should I search for the problem, rootViewController or optionsViewController?


I think AppSoundEngine could simplify your life :) It is objective-c wrapper for system sounds, easy to use. You can handle sound play competence to dedicated class. Your view controller would be less stressed :)

0

精彩评论

暂无评论...
验证码 换一张
取 消