Our app's home screen (and therefore the first seen by all users) has several sections, most of which contain diferent webviews the user may want to open. Doing so increases memory usage from barely 26MB to up to 85MB or even more (after opening all diferent webviews).
The problem we found is that, once they're closed, all web page resources seem to be kept at memory (used memory barely decreases a couple of MB perhaps).
I would like to free the resources the webview had to open because, later on, there's a very demanding section of our app which needs a lot of memory and completely crashes the app if you happen to have been browsing through several of those webviews before.
I have found several options on the internet to try but none of them have worked so far. Things such as:
// Try to clean used webview
[self.webView loadHTMLString:@"" baseURL:nil];
[self.webView stopLoading];
self.webView.delegate = nil;
[self.webView removeFromSuperview];
self.webView = nil;
They've made absolutely almost no effect on memory usage. Is there anything I'm missing here? I already double checked that I have no leaks that would keep the WebView opened, I'm already freeing the only reference to it that I have (self.webView = nil;
)
Edit: I just created a project from scratch, added a webview and a button which loads a different web every time I click it, which in turn increases memory usage. I also added a button that will destroy the webview when clicked and, guess what, memory stays the same, like it's effectively not releasing any resources.