Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
How to properly remove an instance of UIWebView and avoid memory leaks
// Destroy UIWebView
- (void)destroyWebView
[self.webView loadHTMLString:@"" baseURL:nil];
[self.webView stopLoading];
[self.webView setDelegate:nil];
[self.webView removeFromSuperview];
[self setWebView:nil];
[[NSURLCache sharedURLCache] removeAllCachedResponses];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
[[NSURLCache sharedURLCache] setMemoryCapacity:0];
// UIWebViewDelegate Methods
- (void) webViewDidFinishLoad:(UIWebView *)webView
[[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"WebKitCacheModelPreferenceKey"];
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
return YES;

Is it still the case ?
Why do you use webView:shouldStartLoadWithRequest:navigationType: ?

It does not work very well.

Not work for me.


ArtSabintsev commented Aug 4, 2015

I have no idea if this works anymore. I put this solution together in early 2013, from a project I worked on in 2012.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment