在我的应用程序中,我有一个用于显示图像文件的uiwebview。现在的问题是我在这个视图中得到了泄漏。这里我写了下面的代码。
UIWebView *the_pWebView = [[UIWebView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; // the leak is on this line.
the_pWebView.backgroundColor = [UIColor whiteColor];
the_pWebView.scalesPageToFit = YES;
the_pWebView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
the_pWebView.delegate = self;
self.m_pWebView = the_pWebView;
[self.view addSubview: self.m_pWebView];
[the_pWebView release];
有人可以告诉为什么代码的第一行,我分配uiwebview的地方会泄漏。即使我已经发布了它?
答案 0 :(得分:2)
如果m_pWebView
属性为retain
或copy
,则您需要确保在该类的dealloc
方法中发布该属性。我怀疑你没有在那里发布它。
答案 1 :(得分:0)
在将self.m_pWebView添加到self.view
之后,您还应该释放它答案 2 :(得分:0)
[self performSelectorOnMainThread:@selector(abc) withObject:nil waitUntilDone:YES];
然后使函数名称为abc
-(void) abc
{
UIWebView *the_pWebView = [[UIWebView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
the_pWebView.backgroundColor = [UIColor whiteColor];
the_pWebView.scalesPageToFit = YES;
the_pWebView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
the_pWebView.delegate = self;
self.m_pWebView = the_pWebView;
[self.view addSubview: self.m_pWebView];
[the_pWebView release];
iWebView=nil;
}