• Domingo 16 de Junio de 2024, 11:01

Autor Tema:  Liberar Recursos  (Leído 1191 veces)

Dudin

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Liberar Recursos
« en: Jueves 25 de Agosto de 2005, 15:28 »
0
hola, queria saber como puedo hacer para que mi programa java libere todo lo almacenado en memoria cada vez que cierro la aplicacion y mientras que esta funcionando optimizarlo para que no consuma mucha memoria.

chimps

  • Miembro MUY activo
  • ***
  • Mensajes: 208
    • Ver Perfil
    • http://quiqueq.blogspot.com
Re: Liberar Recursos
« Respuesta #1 en: Sábado 27 de Agosto de 2005, 15:52 »
0
Teoricamente todo ese proceso es realizado automaticamente por el garbage collector, que corre simultaneamente con tu programa en un thread separado, viendo si existe la posibilidad de liberar memoria (cuando por ejemplo ya no hay referencias a un objeto). A diferencia de C++, no hay metodos como 'delete', que vendria a ser el opuesto de 'new' que se usa para crear el objeto.

El problema esta en que el garbage collector no actua de forma instantanea, por lo que tu aplicacion podria estar acumulando varios objetos ya muertos en memoria que podrian ser eliminados pero no lo son. Para este caso, se puede utilizar el System.gc(), que es una forma de sugerir que ahora seria un buen momento para empezar a ver si se puede limpiar memoria. Se debe elegir un momento especifico para llamar a este metodo debido a que tiende a generar pausas en la aplicacion, al borrar grandes cantidades de metodos no utilizados...por ejemplo, lo podes llamar mientras esperas el input de un usuario o en otras partes de la aplicacion donde no se este realizando varios procesos simultaneos.