J'ai un problème en utilisant UIWebViews, j'ai vu la même question ici mais il n'y avait pas de réponse utile. la question est ici: UIWebView memory management. Je vais le citer:uiwebview et énorme perte de mémoire
Je développe une application qui utilise intensément UIWebView. Cette application génère dynamiquement beaucoup de UIWebViews tout en chargeant le contenu de mon serveur. Certains de ces UIWebView sont assez volumineux et ont beaucoup d'images.
Si j'utilise des instruments pour détecter des fuites, je n'en détecte aucune. Cependant, beaucoup d'objets sont alloués et je suppose que cela a à voir avec les UIWebViews. Lorsque la version de la vue sur le Web n'est plus nécessaire, il semble que toute la mémoire n'est pas libérée. Je veux dire, après une demande à mon serveur l'application crée un UITableView et de nombreuses webviews (les instruments disent environ 8Mb). Lorsque l'utilisateur tape en arrière, tous sont libérés, mais l'utilisation de la mémoire ne diminue que de 2 à 3 Mb, et après 5 à 10 minutes, l'application se bloque.
J'ai créé une application de test simple et j'ai les mêmes résultats.
Il est un tableView, je crée DetailsView comme ceci:
DetailsVC *detailViewController = [[DetailsVC alloc] initWithNibName:@"DetailsVC" bundle:nil];
detailViewController.n = indexPath.row;
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
dans DetailsVC J'ai un webView créé en IB. Je charge html comme ceci:
NSString *urlAddress;
if (self.n == 0)
{
urlAddress = @"http://www.google.com";
}
else
{
urlAddress = @"http://www.yahoo.com";
}
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:requestObj];
Je fais aussi:
- (void)viewDidUnload {
self.webView = nil;
}
Ca y est, chaque fois que je choisis toute webView dans RootViewController Je perdre 2-3 Mo de mémoire, est-il une solution à ce problème?
Merci.
il semble que très vieux et bien connu problème, les gens s'y heurtent depuis 2008 et toujours pas de solution (((http://discussions.info.apple.com/thread.jspa?threadID=1729697 – Burjua
Ok, J'ai trouvé une idée pour contourner ce problème, elle est décrite ici: http: //www.iphonedevsdk.com/forum/iphone-sdk-development/34840-uiwebview-memory-crash-caching-memory-useage.html. pas une solution à un problème, mais une sorte de hack.Je ne peux pas croire que c'est la seule façon de le faire, d'autres pensées? Merci – Burjua
duplication possible de [Est-ce que la mémoire de fuite UIWebView?] (http: // stackoverflow.com/questions/648396/does-uiwebview-leak-memory) –