2009-03-15 7 views
12

Si votre application iPhone utilise un UIWebView et charge de nombreuses pages avec des images volumineuses, il se peut que vous constatiez une fuite de mémoire. Cela peut-il être résolu?La mémoire de fuite UIWebView existe-t-elle?

+0

La réponse d'une question similaire: http://stackoverflow.com/a/19609252/423171 – cprcrack

Répondre

2

C'est un problème connu. Marco Arment mentionne la fuite ici. http://blog.instapaper.com/post/60628543

Vous ne pouvez pas faire grand-chose. Une option pour "intercepter" le html essaie de tronquer les parties dont vous n'avez pas besoin. Évidemment, cela ne fonctionnera probablement pas pour un webview à usage général.

En attendant, vous devrez peut-être attendre une mise à jour d'Apple.

0

Je l'ai fait et il semble aider (regarder Fuites et en cours d'exécution à travers simulateur de toute façon):

MyWebViewController *myWebViewController = [[[MyWebViewController alloc] initWithNibName:@"MyWebView" bundle:[NSBundle mainBundle]] autorelease]; 

Il était le « autorelease » qui semble aider à ce que la fuite ne grossit chaque webview J'ouvre.

+1

@ The-Kenny: Seulement si vous n'utilisez pas réellement le contrôleur de vue tout de suite, auquel cas vous devriez le tenir dans une propriété forte/rétention plutôt que d'une variable locale. –

6

Essayez d'ajouter

[webView loadHTMLString: @"" baseURL: nil]; 

droite avant de relâcher le WebView. Pour une fuite dans 4.2.1 concernant l'affichage d'un PDF dans un UIWebView cela résout la plupart des problèmes de fuite pour moi.

+0

sympa !! travaillant pour moi ........ Merci! – iGo

1

J'ai obtenu un

reçu avertissement mémoire, niveau 1

et l'application avec l'énorme écrasé la taille du texte dans la vue Web.

This article m'a aidé, résoudre le problème de fuite. Très facile et direct à utiliser.