Foros del Web » Programación para mayores de 30 ;) » .NET »

Como limpiar de la memoria los "recursos administrados"

Estas en el tema de Como limpiar de la memoria los "recursos administrados" en el foro de .NET en Foros del Web. Hola chic@s. Últimamente estuve leyendo unos cuantos artículos que tratan de "como limpiar de la memoria los recursos NO administrados", en los cuales se hace ...
  #1 (permalink)  
Antiguo 30/01/2006, 01:34
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Pregunta Como limpiar de la memoria los "recursos administrados"

Hola chic@s. Últimamente estuve leyendo unos cuantos artículos que tratan de "como limpiar de la memoria los recursos NO administrados", en los cuales se hace incapié en utilizar el método Dispose() para aquellos objetos que encapsulen recursos no administrados.
Ahora mi problema está en que también quisiera liberar objetos que NO son IDisposable como también variables que pueda llegar a utilizar.
Posiblemente no me esté explicando correctamente, por lo que les dejo un ejemplo marcando en rojo donde esta mi problema:

Código:
public class clasePrueba: IDisposable
{
	// Creo el recurso NO administrado
	private Component miComponent;
	// Creo el recurso administrado
	private DataSet dSet;
	public int variable;
	
	private bool disposed=false;
	
	public BaseResource() { /* ... */ }
	
	public void Dispose()
	{	
		Dispose(true);	GC.SuppressFinalize(this);
	}
	protected virtual void Dispose(bool disposing)
	{
		if(!this.disposed)
		{
			if(disposing)
			{
            	// Libero recursos administrados
             ¿Como hago para liberar al objeto dSet y a la variable que declaré?

			}
			// Aca libero los recursos NO administrados con un simple Dispose()
			miComponent.Dispose();
		}
		disposed=true;         
	}
	~BaseResource() { Dispose(false); }
}
Tengo entendido que el recolector de basura tarde o temprano elimina los recursos administrados, pero ya que implemento tantos metodos para tratar este problema, me gustaría también poder liberar los objetos que no cumplen con la interfaz IDiposable.

Espero haberme dado a entender.

Se les agradece de antemano cualquier ayuda. Saludos!
__________________
R4DS en español | R4DS en inglés
  #2 (permalink)  
Antiguo 31/01/2006, 02:37
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
¿Aunque sea alguna pista, URL, lo que sea?
__________________
R4DS en español | R4DS en inglés
  #3 (permalink)  
Antiguo 11/05/2006, 11:17
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
Hola,

también estoy interesada en esta cuestión. ¿encontraste la solución?


saludos!
  #4 (permalink)  
Antiguo 12/05/2006, 09:07
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
He encontrado info sobre la liberación de memoria mediante "SetProcessWorkingSetSize":

http://gdev.wordpress.com/tag/vbnet-develop/

http://www.marteens.com/trick42.htm

http://www.vbforums.com/showthread.p...WorkingSetSize


saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:08.