2010-09-10 4 views
3

J'ai actuellement implémenté une bibliothèque tierce dans mon projet XCode. Le problème est qu'il y a des fuites de mémoire qui proviennent de la bibliothèque que j'ai trouvé en utilisant des instruments. Ma question est est-il possible de lancer la fonction API qui fuit dans un thread séparé en utilisant le pool autorelease afin que ce thread nettoie après lui-même? De cette façon, quand j'ai besoin de l'utiliser à nouveau, je lance l'appel de fonction dans un thread différent? Pour l'essentiel, je pense que ce serait du garbage collecter le code qui fuit afin qu'il n'affecte pas l'exécutable principal.Utilisation de threads pour résoudre les problèmes de fuite de mémoire dans les bibliothèques tierces Iphone

Répondre

1

Des fuites de mémoire seront présentes dans le fil principal ou dans tout autre filetage. Quelle est la différence entre autoreleasing une mémoire qui fuit ou libérant une mémoire qui fuit?

Même effet!

Corriger les fuites.

À la vôtre

+0

Merci pour la réponse. Le problème est que je ne peux pas réparer leurs fuites puisque c'est leur code propriétaire, alors j'essaie de savoir s'il y a de toute façon que je puisse "contenir" leur fuite de mémoire. Par exemple, si je me souviens dans Unix, si je bifurque un processus en utilisant une fourche système, je crois qu'il peut finir (ou mourir) sans affecter le processus parent. – iOScoder

+0

Donc je me demandais s'il est possible de faire quelque chose de similaire dans iOS 4.0. Merci pour vos pensées! – iOScoder

Questions connexes