以下代码是否存在潜在的内存问题?:
- (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];
}
Run Code Online (Sandbox Code Playgroud)
我用仪器检查了它,它说上面的代码有内存泄漏.
您应该在dealloc方法中释放locationManager.
- (void)dealloc
{
[locationManager release];
[super dealloc];
}
Run Code Online (Sandbox Code Playgroud)
原因viewDidUnload是不能保证被调用.
详情请见以下问题:
什么时候调用UIViewController viewDidUnload?
| 归档时间: |
|
| 查看次数: |
690 次 |
| 最近记录: |