0
在下面的代码中有大约3MB的泄漏。如果我删除[self.view addSubview:progressDialog];
那么他们是没有泄漏。MBProgressHUD内存泄漏
-(void)showProgressDialog:(NSString*)title setTimer:(BOOL)isTimerSet
{
progressDialog = [[MBProgressHUD alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)];
[progressDialog setLabelText:title];
progressDialog.dimBackground=YES;
[self.view addSubview:progressDialog];//Leak is here
[progressDialog show:YES];
}
-(void)hideProgressDialog
{
if(progressDialog !=nil)
{
[progressDialog hide:YES];
[progressDialog removeFromSuperview];
[progressDialog release];
progressDialog = nil;
}
}
请帮助。
其实泄漏发生在CGRectMake即initWithFrame:CGRectMake() –
这个init方法返回一个对象,其中有一个retaincount增量存储在progressDialog中,下一次如果再次按下按钮则增加一个,而不释放它。如果你释放它。我希望它能解决 – Saad
我在hideProgressDialog方法中释放它。 –