Create a gist now

Instantly share code, notes, and snippets.

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.


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