Estoy tratando de escribir un simple Administrador de recursos para el pequeño juego de hobby que estoy escribiendo. Una de las tareas que este administrador de recursos debe hacer es descargar recursos no utilizados. Puedo pensar en hacer esto de dos maneras:C# - Obtener el número de referencias al objeto
Cuando un objeto ya no requiere una referencia al recurso, debe llamar a un método del Administrador de recursos para significar que ya no lo está utilizando; o
Cuando un objeto ya no requiere una referencia al recurso, simplemente lo establece en NULL. Luego, cuando se solicita al Administrador de recursos que descargue recursos no utilizados, obtiene el recuento de referencias (¿por reflejo?) De cada recurso. Si el recuento de referencia es uno (Resource Manager tiene una referencia al recurso), descargue el recurso.
¿Hay alguna manera de lograr la segunda solución en C#? Gracias.
¿Qué hará su administrador de recursos que no haga el recolector de garbanzos? – CannibalSmith
@CannibalSmith: por lo general, permite que múltiples bits de código reutilicen el recurso (esencialmente, un caché) –
Es para cargar imágenes, asegurándose de que solo se carga una imagen a la vez (no importa cuántas cosas se pidan, solo una versión puede estar en la memoria). –