Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Liberar recursos de JFrame al cerrarlo

Iniciado por ethiel, 02 de Noviembre de 2007, 05:59:07 PM

« anterior - próximo »

ethiel

Hola, usuari@s.

Tengo una duda que no he conseguido resolver:
¿Cómo libero los recursos que necesita el JFrame cuando lo cierro?.

He probado con DISPOSE_ON_CLOSE pero mirando el administrador de tareas de windows, no se nota la diferencia.

También he probado con nombreframe.dispose(); con idéntico resultado. EL JFrame está creado en un método, se le añaden contenedores como paneles y elementos como JTextField y JLabel, pero no están referenciados en ninguna otra parte.

Si observé que al minimizar la ventana principal, la que dispara el otro JFrame del que hablo, el consumo disminuía (aunque la volviera a maximizar luego, el consumo era menor que antes de haberla minimizado por primera vez).

¿Cómo puedo hacerlo?.

Saludos a todos.

shephiroth

Buenas. Buscando un poco de informacion en la documentacion de sun, al parecer hay que llamar al metodo finalize.....al parecer hay un enlace interno que llega desde la clase madre Window.

Porsiacaso meto la pata, esto es lo que ponen:
We have to remove the (hard) reference to weakThis in the Vector, otherwise the WeakReference instance will never get garbage collected.

ethiel

Esto no lo comprendo. Creo un JFrame cualquiera, sin nada en su interior, simplemente el JFrame. Lo llamo desde otro JFrame, para mostrarlo; y al cerrar el último JFrame, el recién creado, no libera nada de memoria según el administrador de tareas. Lo hago con dispose, con DISPOSE_ON_CLOSE, con todo. Libera memoria si cierro la aplicación, pero evidentemente eso no es lo que necesito.

¿Por qué demonios pasa ésto?.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.