Pessoal, boa tarde!!
Tenho tido muita ajuda neste fórum ultimamente, então segue mais uma questão…quem puder ajudar, agradeço desde já…
Seguinte, tenho uma aplicação desktop com Swing, onde monto as telas no NetBeans(Matisse) e as exporto para o Eclipse(.java), enfim…feito isso ao chamar a minha tela faço da seguinte forma:
new Thread(new AbrirJanelaInterna(CadastroProduto.class, null, null)).start();
Onde AbrirJanelaInterna é uma thread…
public class AbrirJanelaInterna implements Runnable {
public AbrirJanelaInterna(Class classeInternalFrame, Class[] tipoParametro, Object[] valoresParametro){
//chamada da tela....
}
....
}
O problema é o seguinte, pra variar o caso que já foi abordado em outros tópicos, porém ainda não consegui uma boa idéia sobre isso…
Qdo chamo a tela, a memória utilizada aumenta, e qdo saio, apesar de tirar todas as referencias possiveis, através de uma classe que foi criada para isso, onde remove até referencias de listeners, DAOs, etc…mesmo depois de fazer isso, a memória continua alocada não voltando de jeito nenhum, e o número de threads abertas aumentando…ou seja, utilizando alguns profiles aqui, a impressão que me dá é a seguinte, ele mata as referências, a thread fica vazia, porém continua ocupando todo o espaço que fora alocado pra ela…
Existe alguma outra forma de se fazer este tipo de tratamento, chamada, conseguindo assim que a memória seja esvaziada?
Muito obrigado pela atenção.