Memory Leak while using UIWebView Load request in

2019-09-18 14:50发布

问题:

I have a Web View Which loaded as a modal view. I am having memory leaks after loading a webpage using the following code.

[myView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]
                                     cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
                                 timeoutInterval:30]];

My dealloc method is below:

- (void)dealloc
{
    myView.delegate = nil;
    [myView release];
    [url release];
    [super dealloc];
}

Instruments showing 5 blocks of GeneralBlock 32 leaks, but no stack trace available.

The leak Happens everytime after loading the web page and is exactly 5 blocks for each loading. if I dismiss the modalview before the page is fully loaded, there is no leak. If I change the cache policy to NSURLRequestReturnCacheDataElseLoad The leak happens only for the first time loading the webpage.

I already tried the methods in below link, but it doesn't work for me.

Leak UIWebView

Any help is appreciated. Thanks.

回答1:

I have found several UIWebView-related leaks in iOS prior to 4.1 (and reported one in detail), as I use local loading of HTML heavily in the current iOS app I'm developing. They are all related to bugs with the WebKit implementation.

Since 4.1 I have not seen any of these leaks.

If you can re-test with 4.1, and the leaks are gone, then I would ignore the leaks and move on. I have had apps approved with these types of leaks, since they are in Apple frameworks and outside of your control.