IRONSOFTWAREHOME

Corrigindo vazamentos de memória no IronPDF

Curtis Chau
Curtis Chau
Updated: 22 de abril de 2026

Se você estiver enfrentando um aparente vazamento de memória no IronPDF, gostaríamos de saber. Nossos engenheiros mais experientes se mobilizarão em conjunto para trabalhar em uma solução rápida para o vazamento de memória assim que for identificado.

Veja como reportar um vazamento de memória parasupport@ironsoftware.com :

1. Atualize para a versão mais recente do IronPDF

Se você ainda não estiver, por favor, atualize para a versão mais recente do IronPDF.

2. Certifique-se de ter descartado seus objetos IDisposable

A grande maioria dos vazamentos de memória relatados são causados por uso inadequado da interface IDisposable do .NET.

Se qualquer classe .NET tiver um método Dispose() - provavelmente é IDisposable e exigirá que o desenvolvedor avise-a quando terminar de usá-la.

Existe um equívoco comum de que C# é uma linguagem "gerenciada", que não exige que o desenvolvedor se preocupe com o gerenciamento de memória. Contrariando essa crença, existem, na verdade, muitos objetos comuns do .NET dos quais os desenvolvedores não se desfazem.

Falhar ao descartar manualmente cada instância de classe IDisposable pode causar um vazamento de memória em seu código.

  • System.IO.Stream - que é retornado pela propriedade PdfDocument.Stream.
  • System.Drawing.Image / System.Drawing.Bitmap - que é retornado pelo método PdfDocument.PageToBitmap.
  • IronPdf.PdfDocument - ele próprio é marcado como IDisposable também, pois pode conter objetos não gerenciados nas nossas versões posteriores de 2021 - 2024.

A solução mais comum

A melhor solução muitas vezes é usar uma instrução using ao se referir a objetos IDisposable.

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

No C# 8, há até uma versão abreviada sem closures {}.

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

3. Recolher o lixo

O analisador de memória do depurador do Visual Studio pode continuar mostrando um aumento mesmo que não haja nada de errado. Ao usar um sistema com muita RAM, o runtime do .NET pode decidir que é mais eficiente permitir que dados inválidos permaneçam na memória até que a RAM do sistema esteja quase cheia, ou até mesmo usar um arquivo de paginação para armazená-los.

É possível instruir manualmente o coletor de lixo do .NET a descartar seus objetos não utilizados em um ponto seguro do ciclo de vida do seu aplicativo quando:

  • Não renderiza um PDF
  • Um objeto IDisposable está aberto

Uma maneira de fazer isso é:

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

Após isso, o gráfico de utilização de memória deverá cair para um nível normal, porém diferente de zero.

4. Se o problema de vazamento de memória persistir, reporte-o.

Isso será tratado como uma prioridade extremamente alta. Por favor, leia este guia, que explica como encontrar seus arquivos de registro e relatar seu problema de forma que não sejam solicitadas informações adicionais.

Esta leitura de 3 minutos nos ajudará a reproduzir seu problema com 100% de precisão, garantindo que não desperdicemos seu tempo.

Solicitação de Engenharia (PDF)

Obrigado - Ninguém gosta de vazamentos de memória, inclusive nós. Ao trabalhar com objetos de "baixo nível" ou de sistema, como renderização HTML, interoperabilidade, gráficos e fluxos, eles se tornam possíveis. Então vamos consertá-los!

O IronPDF só se tornou o que é hoje graças aos relatórios de erros e pedidos de novas funcionalidades dos nossos usuários, por isso agradecemos o seu apoio.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Pronto para começar?

Nuget Downloads 20,756,830Versão:2026.7recém-lançado

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronPDF".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.7

ou faça o download do Windows Installer aqui .

  1. Baixe e descompacte o IronPDF em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronPDF.dll".

Licenças a partir de US$ 749

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.