IRONSOFTWAREHOME

Naprawa wycieków pamięci w IronPDF

Curtis Chau
Curtis Chau
Updated: 22 kwietnia 2026

Jeśli doświadczasz pozornego wycieku pamięci w IronPDF, chcemy o tym wiedzieć. Nasi najbardziej doświadczeni inżynierowie natychmiast zajmą się wyciekiem pamięci, by opracować poprawkę, gdy tylko go zidentyfikują.

Oto jak zgłosić wyciek pamięci na support@ironsoftware.com :

1. Zaktualizuj do najnowszej wersji IronPDF

Jeśli jeszcze tego nie zrobiłeś, proszę zaktualizuj do najnowszej wersji IronPDF.

2. Upewnij się, że zamknąłeś swoje obiekty IDisposable

Zdecydowana większość zgłaszanych wycieków pamięci jest spowodowana nieprawidłowym użyciem interfejsu .NET IDisposable.

Jeśli jakakolwiek klasa .NET ma metodę Dispose() - to prawdopodobnie jest IDisposable i będzie wymagać od programisty powiadomienia, kiedy przestaną jej używać.

Istnieje powszechne nieporozumienie, że C# jest językiem 'zarządzanym', nie wymagającym odpowiedzialności programisty za zarządzanie pamięcią. Wbrew temu przekonaniu, istnieje wiele typowych obiektów .NET, które programiści zapominają zwolnić.

Nieudane ręczne zamknięcie każdej instancji klasy IDisposable może spowodować wyciek pamięci w twoim kodzie.

  • System.IO.Stream - zwracany przez właściwość PdfDocument.Stream.
  • System.Drawing.Image / System.Drawing.Bitmap - which is returned by the PdfDocument.PageToBitmap method.
  • IronPdf.PdfDocument - sam jest oznaczony jako IDisposable, ponieważ może zawierać niezarządzane obiekty w naszych późniejszych wersjach z lat 2021 - 2024.

Najczęstsze rozwiązanie

Najlepszym rozwiązaniem jest często użycie instrukcji using przy odwoływaniu się do obiektów IDisposable.

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

W C# 8 istnieje nawet skrócona wersja bez zamknięć {}.

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

3. Zbierz śmieći

Profiler pamięci debugger Visual Studio może nadal pokazywać wzrost, nawet jeśli nic nie jest nie tak. Podczas korzystania z systemu z dużą ilością pamięci RAM, środowisko uruchomieniowe .NET może zdecydować, że bardziej wydajne jest pozostawienie odpadów w pamięci, aż pamięć RAM będzie prawie pełna lub użycie pliku wymiany do przechowywania danych.

Możliwe jest ręczne nakazanie zbieracza śmieći .NET, aby usunął swoje nieużywane obiekty w bezpiecznym miejscu cyklu życia aplikacji, kiedy:

  • Nie renderujesz PDF
  • Obiekt IDisposable jest otwarty

Jednym ze sposobów na to jest:

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

Po tym, wykres użycia pamięci powinien spaść do normalnego, ale niezerowego poziomu.

4. Jeśli nadal masz wyciek pamięci - zgłoś go

Zostanie to uznane za niezwykle wysoką priorytetowość. Proszę przeczytać ten przewodnik, który wyjaśnia, jak znaleźć pliki dziennika i zgłosić problem w taki sposób, aby nie było potrzeby żądania dodatkowych informacji.

Ten 3-minutowy materiał pomoże nam zreprodukować twój problem z dokładnością 100%, zapewniając, że nie zmarnujemy twojego czasu.

Żądanie inżynieryjne PDF

Dziękujemy - Nikt nie lubi wycieków pamięci, w tym my. Pracując z obiektami 'niskopoziomowymi' lub systemowymi, takimi jak renderowanie HTML, Interop, Grafika, i Strumienie, stają się one możliwe. Więc naprawmy je!

IronPDF stał się tym, czym jest dzisiaj, dzięki uwadze na zgłoszenia błędów i życzenia funkcji naszych użytkowników, więc dziękujemy za wsparcie.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 20,667,543Wersja:2026.7właśnie wydany

Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz opcję Przeglądaj i wyszukaj „IronPdf”
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.7

Pobierz teraz

lub pobierz instalator Windows tutaj.

  1. Pobierz i rozpakuj IronPDF do lokalizacji takiej jak ~/Libs w katalogu Solution
  2. W Eksploratorze rozwiązań programu Visual Studio kliknij prawym przyciskiem myszy opcję Odwołania. Wybierz opcję Przeglądaj, „IronPdf.dll”

Licencje od 749 USD

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta