大物件堆壓縮

預設情況下,大型物件堆不會像經典的物件堆那樣被壓縮,這可能導致記憶體碎片, 並且可能導致 OutOfMemoryExceptions

從 .NET 4.5.1 開始,有一個選項可以顯式壓縮 Large Object Heap(以及垃圾收集):

GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
GC.Collect();   

正如任何顯式的垃圾收集請求(它被稱為請求,因為 CLR 不被強制執行它)一樣小心使用並且預設情況下避免使用它,因為它可以去除校準 GCs 統計資料,從而降低其效能。