Je suis nouveau à la gestion de la mémoire, et j'ai recherché des sujets similaires, mais je n'ai pas trouvé un exemple simple provoquant une fuite de mémoire. Je suis en train de tester mon application avec Instruments et il me dit que j'ai une fuite de mémoire de 144 octets dans pushViewController.fuite de mémoire dans 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];
}
Avez-vous une idée de ce que pourrait être la raison de cette fuite? Pouvez-vous dire où devrais-je rechercher le problème, rootViewController ou optionsViewController?
Vérifiez la fonction 'init' du contrôleur' optionsViewController'. – Jhaliya
Init est deafult: - (id) initWithNibName: (NSString *) paquet nibNameOrNil: (NSBundle *) nibBundleOrNil { self = [super initWithNibName: paquet nibNameOrNil: nibBundleOrNil]; if (self) { // Initialisation personnalisée } return self; } – pawel221