我已經在這個應用程式上作業了一段時間,它幾乎完成了,所以我決定開始修復一些問題,比如高記憶體使用率。
我正在使用 Visual Studio 2022,它是 .NET Framwork 4.8 C# Form 應用程式。在表單上,??我有幾個頁面控制元件,每個控制元件都有 2-5 個選項卡。我有幾個拆分面板容器,它們都有按鈕、標簽和文本框。我在全域宣告了最少的變數(總共 6 個),我嘗試在本地宣告所有變數。我有 1 個額外的課程。
啟動時,診斷工具顯示應用程式正在使用 1.2GB 的 RAM。在任務管理器中,它還顯示它正在使用大約 1.2GB 的 RAM。我已經使用GC.Collect(). 有沒有辦法我仍然可以降低 RAM 使用率還是正常?如果我沒有提供足夠的資訊,請告訴我,我會盡我所能。
編輯:感謝 Juanjo、Joe Sewell 和 Hans Passant,問題已經解決。
我有數百個一次性組件。還沒有完成所有這些,但這將使我的 RAM 使用量降至 550MB。我確實有一個小型資料庫,但在程式開始時沒有連接。使 RAM 從 550MB 變為 29MB 的最后一個問題是我擁有的影像串列中的一些未使用的影像。感謝你們三個的幫助,從 1,2GB 到 29MB。
uj5u.com熱心網友回復:
這可以是任何東西。沒有專案和除錯很難知道。盡管如此,GC.Collect()將它降低到一半,知道您需要呼叫的情況很少,這GC.Collect()讓我懷疑您正在使用IDisposable組件并且您沒有呼叫Dispose().
查看您正在使用的一些物件是否有Dispose()方法,以及它們是否使用C# 的 using 模式在您使用完這些物件后處理這些物件。
我希望它有所幫助。再次沒有專案,很難知道。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/465202.html
