uiwebview alloc上的内存泄漏

时间:2010-09-06 08:36:24

标签: iphone memory-leaks uiview uiwebview

在我的应用程序中,我有一个用于显示图像文件的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的地方会泄漏。即使我已经发布了它?

3 个答案:

答案 0 :(得分:2)

如果m_pWebView属性为retaincopy,则您需要确保在该类的dealloc方法中发布该属性。我怀疑你没有在那里发布它。

答案 1 :(得分:0)

在将self.m_pWebView添加到self.view

之后,您还应该释放它

答案 2 :(得分:0)

ViewDidLoad中的

 [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;

 }