Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/06/2006, 00:38
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Hola:
Efectivamente, el recolector se encarga de ello. Sin embargo, suele funcionar bien. Debemos tener cuidado de realmente eliminar todas las refrencias, tanto las nuestras, como las que "no vemos".

Por ejemplo, cualquier ventana que creemos, aparte de nuestras referencias, java pone las suyas propias, puesto que tiene que encargarse de pintar esa ventana y avisarle de eventos de ratón y teclado. Para que una ventana se libere, además de poner todas nuestras referencias a null, debemos llamar al método dispose() de dicha ventana.

Yo, como norma general, reaprovecho las ventanas y no creo ventanas iguales muchas veces (salvo que necesite mostrarlas en pantalla simultaneamente). He podido comprobar que conseguir que se liberen los JDialogs y JFrames es complejo.

Si hacemos suscripciones (llamadas a addXXXXListener()), dependiendo de el XXXListener qué pasemos en la llamada, quizás sea necesario también llamar a removeXXXListener() cuando queramos que se libere.

En fin, un montón de detalles que suelen pasar inadvertidos.

Se bueno.
__________________
Apuntes Java
Wiki de Programación