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方法中釋放它。 –