Alors qu'il y a déjà beaucoup de messages sur les fuites autour d'UIWebView, le mien est un peu plus spécial, je crois, et mérite donc son propre article ici.iPhone: fuite avec UIWebView chargement des documents Office. Des idées pour l'éviter?
Je vois un reproductible grande fuite chaque fois que je charge un document Office tel qu'un fichier Word ou Excel. Par exemple, chaque fois que j'affiche un fichier .doc de 180 Ko, je reçois une fuite de 100 Ko. Par exemple, chaque fois que j'affiche un fichier .doc de 180 Ko. Et cela se produit à la fois avec le simulateur et un périphérique réel, sous OS 3.1.3.
La fuite est et non visible avec l'instrument Leaks mais uniquement en regardant les instances malloc via l'instrument ObjectAlloc.
Voici une image des instruments trace:
alt text http://files.tempel.org/iPhone/UIWebView-Leaking.png
J'ai aussi fait un projet de démonstration, UIWebView-Leak.zip, de sorte que vous pouvez vérifier vous-même. Pour voir la fuite, utilisez l'instrument ObjectAlloc, placez-vous dans la vue où vous voyez les objets d'allocation individuels et triez-les par taille afin de voir les plus grands dans un groupe, comme dans l'image ci-dessus. Ensuite, affichez un document Office plusieurs fois et trouvez les objets Malloc qui restent "Live" même après que l'UIWebView a été libéré.
Est-ce un bug connu? Ou est-ce que je peux éviter ces fuites? Par exemple, avez-vous montré avec succès des documents Office sur un iPhone en obtenant de telles fuites?
Note: J'ai rapporté cela comme un bug à Apple maintenant, trop (ID 7950594)
J'attends toujours quelqu'un (y compris Apple) pour confirmer cela comme une véritable fuite ou montrer pourquoi il n'est pas (c'est-à-dire que je fais quelque chose de mal ou de faire de fausses suppositions)
Il n'y a jamais eu une telle fuite avec les fichiers PDF, je crois. J'avais fait des tests approfondis. –
Eh bien, nous avons eu une fuite très similaire avec les fichiers PDF en 4.2.1 que nous avons juste travaillé en utilisant la suggestion ci-dessus. Pourrait être un nouveau problème, je suppose. – Dad
Merci pour l'info, je vais l'essayer. –