GC.Collect GC.Collect GC.Collect GC.Collect Method

Definición

Fuerza a que se lleve a cabo la recolección de elementos no utilizados.Forces garbage collection.

Sobrecargas

Collect() Collect() Collect() Collect()

Fuerza a que se lleve a cabo una recolección de elementos no utilizados de todas las generaciones.Forces an immediate garbage collection of all generations.

Collect(Int32) Collect(Int32) Collect(Int32) Collect(Int32)

Fuerza a que se lleve a cabo inmediatamente la recolección de elementos no utilizados desde la generación 0 hasta la generación especificada.Forces an immediate garbage collection from generation 0 through a specified generation.

Collect(Int32, GCCollectionMode) Collect(Int32, GCCollectionMode) Collect(Int32, GCCollectionMode) Collect(Int32, GCCollectionMode)

Fuerza una recolección de elementos no utilizados desde la generación 0 hasta la generación especificada, en el momento especificado por el valor GCCollectionMode.Forces a garbage collection from generation 0 through a specified generation, at a time specified by a GCCollectionMode value.

Collect(Int32, GCCollectionMode, Boolean) Collect(Int32, GCCollectionMode, Boolean) Collect(Int32, GCCollectionMode, Boolean) Collect(Int32, GCCollectionMode, Boolean)

Fuerza una recolección de elementos no utilizados de generación 0 en una generación especificada, en un momento especificado por un valor de GCCollectionMode, con un valor que especifica si la recolección debe ser de bloqueo.Forces a garbage collection from generation 0 through a specified generation, at a time specified by a GCCollectionMode value, with a value specifying whether the collection should be blocking.

Collect(Int32, GCCollectionMode, Boolean, Boolean) Collect(Int32, GCCollectionMode, Boolean, Boolean) Collect(Int32, GCCollectionMode, Boolean, Boolean) Collect(Int32, GCCollectionMode, Boolean, Boolean)

Fuerza una recolección de elementos no utilizados de generación 0 en una generación especificada, en un momento especificado por un valor de GCCollectionMode, con valores que especifican si la recolección debe ser de bloqueo y compactante.Forces a garbage collection from generation 0 through a specified generation, at a time specified by a GCCollectionMode value, with values that specify whether the collection should be blocking and compacting.

Collect() Collect() Collect() Collect()

Fuerza a que se lleve a cabo una recolección de elementos no utilizados de todas las generaciones.Forces an immediate garbage collection of all generations.

public:
 static void Collect();
public static void Collect ();
static member Collect : unit -> unit
Public Shared Sub Collect ()

Ejemplos

En el ejemplo siguiente se muestra cómo usar el Collect método para realizar una recolección en todas las generaciones de memoria.The following example demonstrates how to use the Collect method to perform a collection on all generations of memory. El código genera un número de objetos no utilizados y, a continuación, llama a la Collect método para limpiarlos de la memoria.The code generates a number of unused objects, and then calls the Collect method to clean them from memory.

using namespace System;

const int maxGarbage = 1000;

void MakeSomeGarbage()
{
   Version^ vt;
   for ( int i = 0; i < maxGarbage; i++ ) {
      // Create objects and release them to fill up memory with unused objects.
      vt = gcnew Version;
   }
}

void main()
{
   // Put some objects in memory.
   MakeSomeGarbage();
   Console::WriteLine("Memory used before collection:       {0:N0}", 
                      GC::GetTotalMemory( false ) );
   
   // Collect all generations of memory.
   GC::Collect();
   Console::WriteLine("Memory used after full collection:   {0:N0}", 
                      GC::GetTotalMemory( true ) );
}
// The output from the example resembles the following:
//       Memory used before collection:       79,392
//       Memory used after full collection:   52,640
using System;

class MyGCCollectClass
{
   private const int maxGarbage = 1000;

   static void Main()
   {
      // Put some objects in memory.
      MyGCCollectClass.MakeSomeGarbage();
      Console.WriteLine("Memory used before collection:       {0:N0}", 
                        GC.GetTotalMemory(false));
      
      // Collect all generations of memory.
      GC.Collect();
      Console.WriteLine("Memory used after full collection:   {0:N0}", 
                        GC.GetTotalMemory(true));
   }

   static void MakeSomeGarbage()
   {
      Version vt;

      // Create objects and release them to fill up memory with unused objects.
      for(int i = 0; i < maxGarbage; i++) {
         vt = new Version();
      }
   }
}
// The output from the example resembles the following:
//       Memory used before collection:       79,392
//       Memory used after full collection:   52,640
Class MyGCCollectClass
     Private Const maxGarbage As Integer = 1000

     Shared Sub Main()
         'Put some objects in memory.
         MyGCCollectClass.MakeSomeGarbage()
         Console.WriteLine("Memory used before collection:       {0:N0}", 
                           GC.GetTotalMemory(False))

         'Collect all generations of memory.
         GC.Collect()
         Console.WriteLine("Memory used after full collection:   {0:N0}", 
                           GC.GetTotalMemory(True))
     End Sub

     Shared Sub MakeSomeGarbage()
         Dim vt As Version

         Dim i As Integer
         For i = 0 To maxGarbage - 1
             'Create objects and release them to fill up memory with unused objects.
             vt = New Version()
         Next 
     End Sub
 End Class
' The output from the example resembles the following:
'       Memory used before collection:       79,392
'       Memory used after full collection:   52,640

Comentarios

Utilice este método para intentar reclamar toda la memoria que no es accesible.Use this method to try to reclaim all memory that is inaccessible. Realiza una recolección de elementos no utilizados de bloqueo de todas las generaciones.It performs a blocking garbage collection of all generations.

Todos los objetos, independientemente de cuánto tiempo llevan en memoria, se consideran para la colección; Sin embargo, no se recopilan los objetos que se hace referencia en código administrado.All objects, regardless of how long they have been in memory, are considered for collection; however, objects that are referenced in managed code are not collected. Utilice este método para forzar al sistema para intentar reclamar la cantidad máxima de memoria disponible.Use this method to force the system to try to reclaim the maximum amount of available memory.

A partir de la .NET Framework 4.5.1.NET Framework 4.5.1, puede compactar el montón de objetos grandes (LOH) estableciendo el GCSettings.LargeObjectHeapCompactionMode propiedad GCLargeObjectHeapCompactionMode.CompactOnce antes de llamar a la Collect método, como en el ejemplo siguiente se muestra.Starting with the .NET Framework 4.5.1.NET Framework 4.5.1, you can compact the large object heap (LOH) by setting the GCSettings.LargeObjectHeapCompactionMode property to GCLargeObjectHeapCompactionMode.CompactOnce before calling the Collect method, as the following example illustrates.

GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
GC.Collect();      
GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce
GC.Collect()      
Consulte también:

Collect(Int32) Collect(Int32) Collect(Int32) Collect(Int32)

Fuerza a que se lleve a cabo inmediatamente la recolección de elementos no utilizados desde la generación 0 hasta la generación especificada.Forces an immediate garbage collection from generation 0 through a specified generation.

public:
 static void Collect(int generation);
public static void Collect (int generation);
static member Collect : int -> unit
Public Shared Sub Collect (generation As Integer)

Parámetros

generation
Int32 Int32 Int32 Int32

El número de la generación más antigua de elementos no usados para recolectar.The number of the oldest generation to be garbage collected.

Excepciones

Ejemplos

En el ejemplo siguiente se muestra cómo usar el Collect método para realizar una recolección en capas individuales de memoria.The following example demonstrates how to use the Collect method to perform a collection on individual layers of memory. El código genera un número de objetos no utilizados y, a continuación, llama a la Collect método para limpiarlos de la memoria.The code generates a number of unused objects, and then calls the Collect method to clean them from memory.

using namespace System;
const long maxGarbage = 1000;
ref class MyGCCollectClass
{
public:
   void MakeSomeGarbage()
   {
      Version^ vt;
      for ( int i = 0; i < maxGarbage; i++ )
      {
         
         // Create objects and release them to fill up memory
         // with unused objects.
         vt = gcnew Version;

      }
   }

};

int main()
{
   MyGCCollectClass^ myGCCol = gcnew MyGCCollectClass;
   
   // Determine the maximum number of generations the system
   // garbage collector currently supports.
   Console::WriteLine( "The highest generation is {0}", GC::MaxGeneration );
   myGCCol->MakeSomeGarbage();
   
   // Determine which generation myGCCol object is stored in.
   Console::WriteLine( "Generation: {0}", GC::GetGeneration( myGCCol ) );
   
   // Determine the best available approximation of the number
   // of bytes currently allocated in managed memory.
   Console::WriteLine( "Total Memory: {0}", GC::GetTotalMemory( false ) );
   
   // Perform a collection of generation 0 only.
   GC::Collect( 0 );
   
   // Determine which generation myGCCol object is stored in.
   Console::WriteLine( "Generation: {0}", GC::GetGeneration( myGCCol ) );
   Console::WriteLine( "Total Memory: {0}", GC::GetTotalMemory( false ) );
   
   // Perform a collection of all generations up to and including 2.
   GC::Collect( 2 );
   
   // Determine which generation myGCCol object is stored in.
   Console::WriteLine( "Generation: {0}", GC::GetGeneration( myGCCol ) );
   Console::WriteLine( "Total Memory: {0}", GC::GetTotalMemory( false ) );
}

using System;

namespace GCCollectIntExample
{
    class MyGCCollectClass
    {
        private const long maxGarbage = 1000;
      
        static void Main()
        {
            MyGCCollectClass myGCCol = new MyGCCollectClass();

            // Determine the maximum number of generations the system
	    // garbage collector currently supports.
            Console.WriteLine("The highest generation is {0}", GC.MaxGeneration);
            
            myGCCol.MakeSomeGarbage();

            // Determine which generation myGCCol object is stored in.
            Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol));
            
            // Determine the best available approximation of the number 
	    // of bytes currently allocated in managed memory.
            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(false));
            
            // Perform a collection of generation 0 only.
            GC.Collect(0);
            
            // Determine which generation myGCCol object is stored in.
            Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol));
            
            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(false));
            
            // Perform a collection of all generations up to and including 2.
            GC.Collect(2);
            
            // Determine which generation myGCCol object is stored in.
            Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol));
            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(false));
            Console.Read();
        }

        void MakeSomeGarbage()
        {
            Version vt;

            for(int i = 0; i < maxGarbage; i++)
            {
                // Create objects and release them to fill up memory
		// with unused objects.
                vt = new Version();
            }
        }
    }
}
Imports System

Namespace GCCollectInt_Example
    Class MyGCCollectClass
        Private maxGarbage As Long = 10000

        Public Shared Sub Main()
            Dim myGCCol As New MyGCCollectClass

            'Determine the maximum number of generations the system
            'garbage collector currently supports.
            Console.WriteLine("The highest generation is {0}", GC.MaxGeneration)

            myGCCol.MakeSomeGarbage()

            'Determine which generation myGCCol object is stored in.
            Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol))

            'Determine the best available approximation of the number 
            'of bytes currently allocated in managed memory.
            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(False))

            'Perform a collection of generation 0 only.
            GC.Collect(0)

            'Determine which generation myGCCol object is stored in.
            Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol))

            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(False))

            'Perform a collection of all generations up to and including 2.
            GC.Collect(2)

            'Determine which generation myGCCol object is stored in.
            Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol))
            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(False))
            Console.Read()

        End Sub


        Sub MakeSomeGarbage()
            Dim vt As Version

            Dim i As Integer
            For i = 0 To maxGarbage - 1
                'Create objects and release them to fill up memory
                'with unused objects.
                vt = New Version
            Next i
        End Sub
    End Class
End Namespace

Comentarios

Utilice este método para intentar reclamar la memoria que no es accesible.Use this method to try to reclaim memory that is inaccessible. Sin embargo, con este método no garantiza que se reclame toda la memoria accesible en la generación especificada.However, using this method does not guarantee that all inaccessible memory in the specified generation is reclaimed.

Si se implementa la edad de los objetos, el recolector de elementos no utilizados no recopila los objetos con un número de generación que es mayor que la generación especificada.If object aging is implemented, the garbage collector does not collect objects with a generation number that is higher than the specified generation. Si no se implementa la edad de los objetos, el recolector de elementos no utilizados considera que todos los objetos durante la recolección.If object aging is not implemented, the garbage collector considers all objects during the garbage collection.

Use la MaxGeneration propiedad para determinar el máximo valor válido de la generation parámetro.Use the MaxGeneration property to determine the maximum valid value of the generation parameter.

Para que el recolector de elementos no utilizados que considere la posibilidad de todos los objetos independientemente de su generación, utilice la versión de este método que no toma ningún parámetro.To have the garbage collector consider all objects regardless of their generation, use the version of this method that takes no parameters. Para que el recolector de elementos reclamar objetos en función de un GCCollectionMode establecer, use el GC.Collect(Int32, GCCollectionMode) sobrecarga del método.To have the garbage collector reclaim objects based on a GCCollectionMode setting, use the GC.Collect(Int32, GCCollectionMode) method overload.

Consulte también:

Collect(Int32, GCCollectionMode) Collect(Int32, GCCollectionMode) Collect(Int32, GCCollectionMode) Collect(Int32, GCCollectionMode)

Fuerza una recolección de elementos no utilizados desde la generación 0 hasta la generación especificada, en el momento especificado por el valor GCCollectionMode.Forces a garbage collection from generation 0 through a specified generation, at a time specified by a GCCollectionMode value.

public:
 static void Collect(int generation, GCCollectionMode mode);
public static void Collect (int generation, GCCollectionMode mode);
static member Collect : int * GCCollectionMode -> unit
Public Shared Sub Collect (generation As Integer, mode As GCCollectionMode)

Parámetros

generation
Int32 Int32 Int32 Int32

El número de la generación más antigua de elementos no usados para recolectar.The number of the oldest generation to be garbage collected.

mode
GCCollectionMode GCCollectionMode GCCollectionMode GCCollectionMode

Un valor de enumeración que especifica si se fuerza la recolección de elementos (Default o Forced) o si será optimizada (Optimized).An enumeration value that specifies whether the garbage collection is forced (Default or Forced) or optimized (Optimized).

Excepciones

generation no es válido.generation is not valid.

O bien-or- mode no es uno de los valores de GCCollectionMode.mode is not one of the GCCollectionMode values.

Ejemplos

En el ejemplo siguiente se fuerza una recolección de elementos para los objetos de generación 2 con la Optimized configuración.The following example forces a garbage collection for generation 2 objects with the Optimized setting.

using System;

class Program
{
    static void Main(string[] args)
    {
        GC.Collect(2, GCCollectionMode.Optimized);
    }
}
Imports System

Class Program

    Public Shared Sub Main()
        GC.Collect(2, GCCollectionMode.Optimized)
    End Sub
End Class

Comentarios

Use el mode parámetro para especificar si la colección de elementos no utilizados debería producirse inmediatamente o solo si el tiempo es adecuado para reclamar objetos.Use the mode parameter to specify whether garbage collection should occur immediately or only if the time is optimal to reclaim objects. Con este método no garantiza que se reclame toda la memoria accesible en la generación especificada.Using this method does not guarantee that all inaccessible memory in the specified generation is reclaimed.

Para ajustar la tendencia a la intrusión de elementos no utilizados durante los períodos críticos en la aplicación, establezca el LatencyMode propiedad.To adjust the intrusiveness of garbage collection during critical periods in your application, set the LatencyMode property.

El recolector de elementos no utilizados no recopila los objetos con un número de generación superior al especificado por el generation parámetro.The garbage collector does not collect objects with a generation number higher than specified by the generation parameter. Use la MaxGeneration propiedad para determinar el máximo valor válido de generation.Use the MaxGeneration property to determine the maximum valid value of generation.

Para que el recolector de elementos no utilizados que considere la posibilidad de todos los objetos independientemente de su generación, utilice la versión de este método que no toma ningún parámetro.To have the garbage collector consider all objects regardless of their generation, use the version of this method that takes no parameters.

Para que el recolector de elementos no utilizados recupera los objetos hasta una generación especificada de objetos, use el GC.Collect(Int32) sobrecarga del método.To have the garbage collector reclaim objects up to a specified generation of objects, use the GC.Collect(Int32) method overload. Al especificar la generación máxima, se recopilan todos los objetos.When you specify the maximum generation, all objects are collected.

Consulte también:

Collect(Int32, GCCollectionMode, Boolean) Collect(Int32, GCCollectionMode, Boolean) Collect(Int32, GCCollectionMode, Boolean) Collect(Int32, GCCollectionMode, Boolean)

Fuerza una recolección de elementos no utilizados de generación 0 en una generación especificada, en un momento especificado por un valor de GCCollectionMode, con un valor que especifica si la recolección debe ser de bloqueo.Forces a garbage collection from generation 0 through a specified generation, at a time specified by a GCCollectionMode value, with a value specifying whether the collection should be blocking.

public:
 static void Collect(int generation, GCCollectionMode mode, bool blocking);
public static void Collect (int generation, GCCollectionMode mode, bool blocking);
static member Collect : int * GCCollectionMode * bool -> unit
Public Shared Sub Collect (generation As Integer, mode As GCCollectionMode, blocking As Boolean)

Parámetros

generation
Int32 Int32 Int32 Int32

El número de la generación más antigua de elementos no usados para recolectar.The number of the oldest generation to be garbage collected.

mode
GCCollectionMode GCCollectionMode GCCollectionMode GCCollectionMode

Un valor de enumeración que especifica si se fuerza la recolección de elementos (Default o Forced) o si será optimizada (Optimized).An enumeration value that specifies whether the garbage collection is forced (Default or Forced) or optimized (Optimized).

blocking
Boolean Boolean Boolean Boolean

true para realizar una recolección de elementos no utilizados de bloqueo; false para realizar una recolección de elementos no utilizados en segundo plano cuando sea posible.true to perform a blocking garbage collection; false to perform a background garbage collection where possible.

Excepciones

generation no es válido.generation is not valid.

O bien-or- mode no es uno de los valores de GCCollectionMode.mode is not one of the GCCollectionMode values.

Comentarios

En la tabla siguiente se resume la interacción de la mode y blocking parámetros:The following table summarizes the interaction of the mode and blocking parameters:

mode blocking es trueblocking is true blocking es falseblocking is false
Forced o DefaultForced or Default Se realiza una recolección de bloqueo lo antes posible.A blocking collection is performed as soon as possible. Si una recolección en segundo plano está en curso y generation es 0 o 1, el Collect(Int32, GCCollectionMode, Boolean) método inmediatamente desencadena una recolección de bloqueo y vuelve cuando finaliza la colección.If a background collection is in progress and generation is 0 or 1, the Collect(Int32, GCCollectionMode, Boolean) method immediately triggers a blocking collection and returns when the collection is finished. Si una recolección en segundo plano está en curso y generation es 2, el método espera hasta que finalice la recolección en segundo plano, desencadena una recolección de generación 2 de bloqueo y, a continuación, se devuelve.If a background collection is in progress and generation is 2, the method waits until the background collection is finished, triggers a blocking generation 2 collection, and then returns. Se realiza una recolección lo antes posible.A collection is performed as soon as possible. El método Collect(Int32, GCCollectionMode, Boolean) solicita una colección en segundo plano, pero esto no se garantiza; puede que aún se realice una colección de bloqueo, dependiendo de las circunstancias.The Collect(Int32, GCCollectionMode, Boolean) method requests a background collection, but this is not guaranteed; depending on the circumstances, a blocking collection may still be performed. Si una colección en segundo plano ya está en curso, el método vuelve inmediatamente.If a background collection is already in progress, the method returns immediately.
Optimized Se puede realizar una recolección de bloqueo, dependiendo del estado del recolector de elementos no utilizados y del parámetro generation.A blocking collection may be performed, depending on the state of the garbage collector and the generation parameter. El recolector de elementos no utilizados intenta proporcionar un rendimiento óptimo.The garbage collector tries to provide optimal performance. Se puede realizar una recolección, según el estado del recolector de elementos no utilizados.A collection may be performed, depending on the state of the garbage collector. El método Collect(Int32, GCCollectionMode, Boolean) solicita una colección en segundo plano, pero esto no se garantiza; puede que aún se realice una colección de bloqueo, dependiendo de las circunstancias.The Collect(Int32, GCCollectionMode, Boolean) method requests a background collection, but this is not guaranteed; depending on the circumstances, a blocking collection may still be performed. El recolector de elementos no utilizados intenta proporcionar un rendimiento óptimo.The garbage collector tries to provide optimal performance. Si una colección en segundo plano ya está en curso, el método vuelve inmediatamente.If a background collection is already in progress, the method returns immediately.

Si una llamada a la Collect(Int32, GCCollectionMode, Boolean) método realiza una recolección de elementos no utilizados de bloqueo completa, también puede compactar el montón de objeto grande estableciendo la GCSettings.LargeObjectHeapCompactionMode propiedad GCLargeObjectHeapCompactionMode.CompactOnce antes de llamar a la Collect método.If a call to the Collect(Int32, GCCollectionMode, Boolean) method performs a full blocking garbage collection, you can also compact the large object heap by setting the GCSettings.LargeObjectHeapCompactionMode property to GCLargeObjectHeapCompactionMode.CompactOnce before calling the Collect method.

Collect(Int32, GCCollectionMode, Boolean, Boolean) Collect(Int32, GCCollectionMode, Boolean, Boolean) Collect(Int32, GCCollectionMode, Boolean, Boolean) Collect(Int32, GCCollectionMode, Boolean, Boolean)

Fuerza una recolección de elementos no utilizados de generación 0 en una generación especificada, en un momento especificado por un valor de GCCollectionMode, con valores que especifican si la recolección debe ser de bloqueo y compactante.Forces a garbage collection from generation 0 through a specified generation, at a time specified by a GCCollectionMode value, with values that specify whether the collection should be blocking and compacting.

public:
 static void Collect(int generation, GCCollectionMode mode, bool blocking, bool compacting);
public static void Collect (int generation, GCCollectionMode mode, bool blocking, bool compacting);
static member Collect : int * GCCollectionMode * bool * bool -> unit
Public Shared Sub Collect (generation As Integer, mode As GCCollectionMode, blocking As Boolean, compacting As Boolean)

Parámetros

generation
Int32 Int32 Int32 Int32

El número de la generación más antigua de elementos no usados para recolectar.The number of the oldest generation to be garbage collected.

mode
GCCollectionMode GCCollectionMode GCCollectionMode GCCollectionMode

Un valor de enumeración que especifica si se fuerza la recolección de elementos (Default o Forced) o si será optimizada (Optimized).An enumeration value that specifies whether the garbage collection is forced (Default or Forced) or optimized (Optimized).

blocking
Boolean Boolean Boolean Boolean

true para realizar una recolección de elementos no utilizados de bloqueo; false para realizar una recolección de elementos no utilizados en segundo plano cuando sea posible.true to perform a blocking garbage collection; false to perform a background garbage collection where possible.

compacting
Boolean Boolean Boolean Boolean

true para compactar el montón de objetos pequeños; false solo para limpiar.true to compact the small object heap; false to sweep only.

Comentarios

Si blocking es false, el GC decide si debe realizar una recolección de elementos no utilizados de bloqueo o de un fondo.If blocking is false, the GC decides whether to perform a background or a blocking garbage collection. Si compacting es true, realiza una recolección de elementos no utilizados de bloqueo.If compacting is true, it performs a blocking garbage collection.

Si compacting es true, el tiempo de ejecución compacta el montón de objetos pequeños (SOH).If compacting is true, the runtime compacts the small object heap (SOH). No se compacta el montón de objetos grandes (LOH) a menos que el GCSettings.LargeObjectHeapCompactionMode propiedad está establecida en GCLargeObjectHeapCompactionMode.CompactOnce.The large object heap (LOH) is not compacted unless the GCSettings.LargeObjectHeapCompactionMode property is set to GCLargeObjectHeapCompactionMode.CompactOnce. Tenga en cuenta que esto incluye todos los elementos no utilizados colecciones de bloqueo, no solo de forma completa las colecciones de elementos no utilizados de bloqueo.Note that this includes all blocking garbage collections, not just full blocking garbage collections.

Puede llamar a la Collect(Int32, GCCollectionMode, Boolean, Boolean) método para reducir el montón administrado para el menor tamaño posible, como se muestra en el siguiente fragmento de código.You can call the Collect(Int32, GCCollectionMode, Boolean, Boolean) method to reduce the managed heap to the smallest size possible, as the following code fragment illustrates.

GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
GC.Collect(2, GCCollectionMode.Forced, true, true);
GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce
GC.Collect(2, GCCollectionMode.Forced, True, True)

Especificar true para el compacting argumento garantiza una recolección de elementos no utilizados de bloqueo completa, con compactación.Specifying true for the compacting argument guarantees a compacting, full blocking garbage collection. Establecer el GCSettings.LargeObjectHeapCompactionMode propiedad GCLargeObjectHeapCompactionMode.CompactOnce garantiza que el montón de objeto grande y el SOH se compactan.Setting the GCSettings.LargeObjectHeapCompactionMode property to GCLargeObjectHeapCompactionMode.CompactOnce ensures that both the LOH and SOH are compacted.

Se aplica a