我知道有很多與此相關的問題,所以我會非常具體。 我使用兩條指令創建控制檯應用程序。用大容量創建一個列表並填充樣本數據,然後清除該列表或使其等於空。 我想知道的是,如果有一種方法可以讓我在調試過程中知道/測量/配置文件,如果列表中的應用程序使用的實際內存被清除並且null-ed與列表之前大致相同被創建和填充。我確信應用程序已經處理了這些信息,並且GC已經完成了收集,但是我可以肯定地知道我的應用程序在這之後會消耗多少內存? 我知道在填充列表的過程中,會分配大量內存,並且在內存被清除後,如果內存需要它可供其他進程使用,但是是否可以測量應用程序在結束? 謝謝.net memory measuring and profiling
編輯:好的,這是我的真實場景和目標。我工作的WPF應用程序可以通過USB設備讀取大量數據。在某些時候,應用程序會分配大約700多MB的內存來存儲所有的List數據,並將其解析,分析並寫入文件系統。當我將數據寫入文件系統時,我清除了所有的列表並處理了之前保存大數據的所有集合,因此我可以執行另一個數據處理。我想知道我不會遇到性能問題或最終耗盡所有內存。我用我的程序使用大量內存很好,但是我沒有用它完成所有的USB處理。 我該如何解決這個問題?在這種情況下使用內存或進程分析器?只需使用任務管理器,我看到我的應用程序佔用了800 MB的內存,但在清除收集後,內存保持不變。我知道這不會下降,除非Windows需要它,所以我想知道如果我可以確定內存已被清除並可以自由使用(通過我的應用程序或Windows)