Colección de citas famosas - Slogan de motivación - Referencia débil de C# (WeakReference)

Referencia débil de C# (WeakReference)

En el desarrollo diario, generalmente nos encontramos con el procesamiento de algunos objetos grandes. Estos objetos grandes suelen utilizarse varias veces a lo largo del programa. Por ejemplo: objetos de archivos grandes, clases de diccionario grandes. Generalmente usamos los siguientes métodos:

Como una variable local incorporada de un método

Existe como un campo de una clase

Estos dos métodos; Ninguno de los dos es muy bueno. Como campo de una clase, la instancia de la clase siempre contendrá este objeto grande, consumiendo mucha memoria utilizada como variable local de un método, cuando se ejecuta el método, el objeto grande sale del alcance, pero puede; no ser GCed en este momento. Provoca un consumo innecesario de memoria. Y cada vez que se llama a este método, se recreará un nuevo objeto grande, lo que aumentará el consumo de memoria del programa.

Si la creación de un objeto requiere muchos recursos y queremos evitar crear el mismo objeto varias veces. Puedes usar campos de clase.

Normalmente, cuando un objeto sale del alcance o se establece en nulo. No podremos acceder a él. .NET proporciona una clase WeakReference que puede resolver perfectamente este problema.

Referencia:

[.NET] Uso de WeakReference