Are there any potential memory issues with the following code?:
- (void)viewDidLoad
{
locationManager = [[CLLocationManager alloc] init];
}
- (void)viewWillAppear:(BOOL)animated {
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = kCLDistanceFilterNone;
[locationManager startUpdatingLocation];
}
- (void)viewDidUnload
{
[locationManager release];
locationManager=nil;
[super viewDidUnload];
}
I have checked it with Instrument and it says there is memory leaking with above code.
You should release the locationManager in the dealloc method.
The reason for that is that
viewDidUnloadis not guaranteed to get called.For details see these questions:
When is UIViewController viewDidUnload called?
viewdidunload is not getting called at all!