GC.RemoveMemoryPressure(Int64) GC.RemoveMemoryPressure(Int64) GC.RemoveMemoryPressure(Int64) GC.RemoveMemoryPressure(Int64) Method

Definición

Informa al tiempo de ejecución de que se ha liberado la memoria no administrada y ya no se necesita tener en cuenta al programar la recolección de elementos no utilizados.Informs the runtime that unmanaged memory has been released and no longer needs to be taken into account when scheduling garbage collection.

public:
 static void RemoveMemoryPressure(long bytesAllocated);
[System.Security.SecurityCritical]
public static void RemoveMemoryPressure (long bytesAllocated);
static member RemoveMemoryPressure : int64 -> unit
Public Shared Sub RemoveMemoryPressure (bytesAllocated As Long)

Parámetros

bytesAllocated
Int64 Int64 Int64 Int64

Cantidad de memoria no administrada que se ha liberado.The amount of unmanaged memory that has been released.

Excepciones

bytesAllocated es menor o igual que 0.bytesAllocated is less than or equal to 0.

O bien-or- En un equipo de 32 bits, bytesAllocated es mayor que MaxValue.On a 32-bit computer, bytesAllocated is larger than MaxValue.

Comentarios

Para determinar cuándo se debe programar la recopilación de elementos no utilizados, el tiempo de ejecución tiene en cuenta la cantidad de memoria administrada está asignada.In determining when to schedule garbage collection, the runtime takes into account how much managed memory is allocated. Si un objeto administrado pequeño asigna una gran cantidad de memoria no administrada, el tiempo de ejecución tiene en cuenta que sólo la memoria administrada y, por tanto, subestima la urgencia de programar la recolección.If a small managed object allocates a large amount of unmanaged memory, the runtime takes into account only the managed memory, and thus underestimates the urgency of scheduling garbage collection. El AddMemoryPressure método informa el tiempo de ejecución de esta necesidad adicional de memoria del sistema y el RemoveMemoryPressure método informa al tiempo de ejecución que se ha liberado la presión adicional.The AddMemoryPressure method informs the runtime of this additional pressure on system memory, and the RemoveMemoryPressure method informs the runtime that the additional pressure has been released.

En el patrón de uso más simple, un objeto administrado asigna memoria no administrada en el constructor y lo libera en la Dispose o Finalize método.In the simplest usage pattern, a managed object allocates unmanaged memory in the constructor and releases it in the Dispose or Finalize method. Llame a la AddMemoryPressure método después de asignar la memoria no administrada y llamar a la RemoveMemoryPressure método después de liberarla.Call the AddMemoryPressure method after allocating the unmanaged memory, and call the RemoveMemoryPressure method after releasing it.

En escenarios más complicados, donde la asignación de memoria no administrada cambia considerablemente durante la vigencia del objeto administrado, puede llamar a la AddMemoryPressure y RemoveMemoryPressure métodos de comunicación de estos cambios incrementales en el tiempo de ejecución.In more complicated scenarios, where the unmanaged memory allocation changes substantially during the lifetime of the managed object, you can call the AddMemoryPressure and RemoveMemoryPressure methods to communicate these incremental changes to the runtime.

Precaución

Debe asegurarse de que quita exactamente la cantidad de presión que agrega.You must ensure that you remove exactly the amount of pressure you add. Si no lo puede afectar negativamente el rendimiento del sistema en las aplicaciones que se ejecutan durante largos períodos de tiempo.Failing to do so can adversely affect the performance of the system in applications that run for long periods of time.

Seguridad

SecurityPermission
Para poder llamar a código no administrado al manipular la prioridad de la colección de elementos no utilizados.for the ability to call unmanaged code when manipulating garbage-collection priority. Enumeración asociada: UnmanagedCodeAssociated enumeration: UnmanagedCode

SecurityCriticalAttribute
requiere plena confianza para el llamador inmediato.requires full trust for the immediate caller. Este miembro no se puede usar código de confianza parcial o transparente.This member cannot be used by partially trusted or transparent code.

Se aplica a