Réparation des fuites de mémoire dans IronPDF

Curtis Chau
Curtis Chau
Updated: 22 avril 2026

Si vous rencontrez une fuite de mémoire apparente dans IronPDF, nous voulons en être informés. Nos ingénieurs les plus expérimentés se précipiteront sur une fuite de mémoire pour travailler sur un correctif dès qu'elle sera identifiée.

Voici comment signaler une fuite de mémoire à support@ironsoftware.com :

1. Mettez à jour vers la dernière version d'IronPDF

Si vous ne l'avez pas déjà fait, veuillez mettre à jour vers la dernière version d'IronPDF.

2. Assurez-vous d'avoir disposé de vos objets IDisposable

La grande majorité des fuites de mémoire signalées sont causées par une utilisation incorrecte de l'interface .NET IDisposable.

Si une classe .NET a une méthode Dispose() - elle est probablement IDisposable et nécessitera que le développeur lui indique quand il a terminé de l'utiliser.

Il existe une idée reçue selon laquelle le C# est un langage " géré ", ne nécessitant aucune responsabilité du développeur pour gérer la mémoire. Contrairement à cette croyance, il existe en fait de nombreux objets .NET courants que les développeurs ne parviennent pas à éliminer.

Ne pas disposer manuellement de chaque instance de classe IDisposable peut provoquer une fuite de mémoire dans votre code.

  • System.IO.Stream - qui est retourné par la propriété PdfDocument.Stream.
  • System.Drawing.Image / System.Drawing.Bitmap - which is returned by the PdfDocument.PageToBitmap method.
  • IronPdf.PdfDocument - lui-même est marqué IDisposable également, car il peut contenir des objets non gérés dans nos versions ultérieures de 2021 à 2024.

La solution la plus courante

La meilleure solution est souvent d'utiliser une instruction using lorsqu'il s'agit d'objets IDisposable.

using(var stream = myPdfDocument.Stream) {
    // Perform operations with the stream here
}

En C# 8, il existe même une version abrégée sans fermetures {}.

using var stream = myPdfDocument.Stream;
// Perform operations with the stream here

3. Collectez les déchets

Le profileur de mémoire du débogueur Visual Studio peut continuer à montrer une augmentation même si rien ne cloche. Lors de l'utilisation d'un système à mémoire RAM élevée, le runtime .NET peut décider qu'il est plus efficace de laisser les déchets rester en mémoire jusqu'à ce que la RAM de votre système soit presque pleine ou d'utiliser même un fichier d'échange pour le conserver.

Il est possible d'instruire manuellement le collecteur de déchets .NET pour éliminer ses objets inutilisés à un moment sûr dans le cycle de vie de votre application lorsque :

  • Ne pas rendre un PDF
  • Un objet IDisposable est ouvert

Une manière de le faire est :

System.GC.Collect(); // Invokes the garbage collector
System.GC.WaitForPendingFinalizers(); // Waits for the process to complete
System.GC.Collect(); // Optional: Runs additional collection to ensure all objects are cleared

Après cela, le graphique d'utilisation de la mémoire devrait descendre à un niveau normal, mais non-nul.

4. Si vous avez toujours une fuite de mémoire - Signalez-la

Cela sera considéré comme une priorité extrêmement élevée. Veuillez lire ce guide, qui explique comment trouver vos fichiers journaux et signaler votre problème de manière à ce qu'aucune information supplémentaire ne soit demandée.

Cette lecture de 3 minutes nous aidera à reproduire votre problème avec une précision de 100 %, garantissant que nous ne perdrons pas votre temps.

Ordre d'ingénierie PDF

Merci - Personne n'aime les fuites de mémoire, y compris nous. Lorsqu'on travaille avec des objets de " faible niveau " ou système tels que le rendu HTML, l'interopérabilité, les graphiques, et les flux, ils deviennent possibles. Alors résolvons-les!

IronPDF n'est devenu ce qu'il est aujourd'hui qu'en écoutant les rapports de bogues et les demandes de fonctionnalité de nos utilisateurs, alors merci pour votre soutien.

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

Lire la suite

Prêt à commencer ?

Nuget Downloads 21,916,531Version :2026.11vient de sortir