IronPDF 故障排除 IronPDF 中的內存泄漏 修復IronPDF中的記憶體洩漏 Curtis Chau 更新:2025年6月1日 下載 IronPDF NuGet 下載 DLL 下載 Windows Installer 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English 如果您在使用IronPDF時遇到明顯的記憶體洩漏問題,請告知我們。 一旦發現記憶體洩漏問題,我們資歷最深的工程師會立即集中精力進行緊急修復。 以下是如何向系統報告記憶體洩漏的方法support@ironsoftware.com: 1. 更新至最新IronPDF版本 如果您尚未更新,請更新至最新版本的IronPDF 。 2. 請確保已釋放您的 IDisposable 對象 絕大多數已報告的記憶體洩漏都是由於不當使用.NET介面造成的。 如果任何.NET類別具有 Dispose() 方法,則它很可能是 IDisposable ,並且需要開發人員在完成使用後告知它。 人們普遍誤解 C# 是一種"託管"語言,不需要開發人員負責管理記憶體。 與這種觀點相反,實際上有許多常見的.NET物件開發人員未能將其釋放。 -使用實作了 IDisposable 介面的對象 -尋找、修復和避免 C# .NET中的記憶體洩漏:8 個最佳實踐 未能手動釋放每個 IDisposable 類別實例可能會導致程式碼中出現記憶體洩漏。 System.IO.Stream - 由 PdfDocument.Stream 屬性傳回。 System.Drawing.Image / System.Drawing.Bitmap - 由 PdfDocument.PageToBitmap 方法傳回。 IronPdf.PdfDocument本身也被標記為 IDisposable,因為它可能包含我們 2021 年 - 2024 年後續版本中的非託管物件。 最常見的解決方案 引用 using 物件時,通常最好的解決方案是使用 IDisposable 語句 using(var stream = myPdfDocument.Stream) { // Perform operations with the stream here } using(var stream = myPdfDocument.Stream) { // Perform operations with the stream here } $vbLabelText $csharpLabel 在 C# 8 中,甚至還有一個沒有 {} 閉包的簡寫版本。 using var stream = myPdfDocument.Stream; // Perform operations with the stream here using var stream = myPdfDocument.Stream; // Perform operations with the stream here $vbLabelText $csharpLabel 3. 收集垃圾 即使沒有任何問題,Visual Studio 偵錯器記憶體分析器也可能持續顯示記憶體增加。 當使用高記憶體系統時, .NET運行時可能會認為,讓垃圾資料留在記憶體中,直到系統記憶體幾乎用完,甚至使用交換檔案來保存,效率會更高。 在應用程式生命週期中,可以在安全的時間點手動指示.NET垃圾回收器釋放未使用的物件: 無法渲染 PDF 文件 一個 IDisposable 物件已開啟 實現這一目標的一種方法是: 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 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 $vbLabelText $csharpLabel 此後,記憶體使用率圖表應該會下降到正常但非零的水平。 4. 如果仍有記憶體洩漏問題,請提交報告 我們將把此事視為極為重要的優先事項。 請閱讀本指南,其中解釋瞭如何查找日誌檔案以及如何報告問題,以便無需提供其他資訊。 請花 3 分鐘閱讀此文,以便我們 100% 準確地重現您的問題,確保不會浪費您的時間。 工程申請 PDF 謝謝——沒有人喜歡內存洩漏,包括我們自己。 當使用 HTML 渲染、互通、圖形和流等"底層"或系統物件時,這些功能就成為可能。 所以讓我們來解決它們! IronPDF能發展到今天的規模,全賴我們聽用戶的錯誤回報和功能請求,所以非常感謝大家的支持。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 準備好開始了嗎? Nuget 下載 17,803,474 | 版本: 2026.3 剛剛發布 開始免費試用 免費 NuGet 下載 總下載量:17,803,474 查看許可證 還在滾動嗎? 想快速取得證據? PM > Install-Package IronPdf 運行範例看著你的HTML程式碼變成PDF檔。 免費 NuGet 下載 總下載量:17,803,474 查看許可證