corto de memoria

06/04/2005 - 10:41 por Fernando | Informe spam
Hola grupo, gracias antes que nada. La pregunta es la siguiente¿Como
hago para eliminar objetos que me quedan en memoria? Resulta que utilizo
muchas hebras y necesito ir limpiandolas de memoria para bajar el
consumo de las mismas. Bueno espero se entienda la pregunta.Gracias

Fernando-Almería

Preguntas similare

Leer las respuestas

#1 A.Poblacion
06/04/2005 - 13:29 | Informe spam
"Fernando" wrote in message
news:%
Hola grupo, gracias antes que nada. La pregunta es la siguiente¿Como
hago para eliminar objetos que me quedan en memoria? Resulta que utilizo
muchas hebras y necesito ir limpiandolas de memoria para bajar el
consumo de las mismas. Bueno espero se entienda la pregunta.Gracias



Normalmente el sistema lanza automáticamente el "Garbage Collector"
cuando le falta memoria libre, pero si quieres lanzarlo por tu cuenta,
puedes hacerlo ejecutando la sentencia GC.Collect();
Respuesta Responder a este mensaje
#2 Alfredo Novoa
06/04/2005 - 13:51 | Informe spam
On Wed, 6 Apr 2005 13:29:07 +0200, "A.Poblacion"
wrote:

"Fernando" wrote in message
news:%
Hola grupo, gracias antes que nada. La pregunta es la siguiente¿Como
hago para eliminar objetos que me quedan en memoria? Resulta que utilizo
muchas hebras y necesito ir limpiandolas de memoria para bajar el
consumo de las mismas. Bueno espero se entienda la pregunta.Gracias



Normalmente el sistema lanza automáticamente el "Garbage Collector"
cuando le falta memoria libre, pero si quieres lanzarlo por tu cuenta,
puedes hacerlo ejecutando la sentencia GC.Collect();



Además de esto puede que haga falta convertir los datos en basura
poniendo las referencias que apuntan a los datos a null.


Saludos
Respuesta Responder a este mensaje
#3 Fernando
06/04/2005 - 18:57 | Informe spam
A.Poblacion escribió:
"Fernando" wrote in message
news:%

Hola grupo, gracias antes que nada. La pregunta es la siguiente¿Como
hago para eliminar objetos que me quedan en memoria? Resulta que utilizo
muchas hebras y necesito ir limpiandolas de memoria para bajar el
consumo de las mismas. Bueno espero se entienda la pregunta.Gracias




Normalmente el sistema lanza automáticamente el "Garbage Collector"
cuando le falta memoria libre, pero si quieres lanzarlo por tu cuenta,
puedes hacerlo ejecutando la sentencia GC.Collect();





gracias lo probare y te cuento.
Respuesta Responder a este mensaje
#4 Rodrigo Corral [MVP]
06/04/2005 - 19:44 | Informe spam
Salvo que los objetos sean globales, es decir tenga el mismo tiempo de vida
que la aplicación, no veo la necesidad de ponerles a null, y si son globales
y tiene sentido ponerles a null es por que has diseñado mal y esos objetos
no estan en el ambito adecuado.

La idea es los objetos se crean en un ambito, se utilizan y luego cuando
salen de ambito estan a disposicion del recolector de basura. Si eliges bien
en que ambito creas la instancia del objeto no hay necesidad de andar
poniendo el objeto a null.

Si necesitas un determinado objeto durante la vida de un formulario lo creas
como variable miembro del mismo y su ambito determina su vida, cuando el
formlario muere el objeto muere. Si ese objeto lo has hecho global es cuando
empiezas a tener problemas de tener que ponerle a null y demas. O el caso
de una variable que debe ser local a un metodo y la haces miembro

En mi opinión si tienes que andar poniendo los objetos a null es que estas
fallando al elegir su ambito,en la mayoria de los casos, es el ambito y nada
más lo que debe marcar el tiempo de vida de los objetos.

Tampoco es una buena idea llama explicitamente al recolector de basura. Esta
muy documentado.


Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org
Respuesta Responder a este mensaje
#5 Fernando
11/04/2005 - 16:15 | Informe spam
Rodrigo Corral [MVP] escribió:
Salvo que los objetos sean globales, es decir tenga el mismo tiempo de vida
que la aplicación, no veo la necesidad de ponerles a null, y si son globales
y tiene sentido ponerles a null es por que has diseñado mal y esos objetos
no estan en el ambito adecuado.

La idea es los objetos se crean en un ambito, se utilizan y luego cuando
salen de ambito estan a disposicion del recolector de basura. Si eliges bien
en que ambito creas la instancia del objeto no hay necesidad de andar
poniendo el objeto a null.

Si necesitas un determinado objeto durante la vida de un formulario lo creas
como variable miembro del mismo y su ambito determina su vida, cuando el
formlario muere el objeto muere. Si ese objeto lo has hecho global es cuando
empiezas a tener problemas de tener que ponerle a null y demas. O el caso
de una variable que debe ser local a un metodo y la haces miembro

En mi opinión si tienes que andar poniendo los objetos a null es que estas
fallando al elegir su ambito,en la mayoria de los casos, es el ambito y nada
más lo que debe marcar el tiempo de vida de los objetos.

Tampoco es una buena idea llama explicitamente al recolector de basura. Esta
muy documentado.




gracias rodrigo, en principio llamare al recolector de basura.gracias

fernando
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida