Ol�,
parece que realmente existe um problema no Garbage Collection quando se
utiliza Swing. A solu��o, que pelo menos reduz a aloca��o de mem�ria, �
invocar removeAll recursivamente nos containers quando eles deixam de ser
utilizados. Tente utiliza o seguinte c�digo:
public static void removeComponents(Component c) {
if(c instanceof Container) {
Component[] cos = ((Container)c).getComponents();
for(int i=0; i<cos.length; i++) {
removeComponents(cos[i]);
}
((Container)c).removeAll();
}
}
antes de anular as instancias de variaveis que s�o componentes Swing.
Boa Sorte! :)
-----------------------------------------------------------
Marco Antonio Guapo
[EMAIL PROTECTED] http://www.visionnaire.com.br
Visionnaire R. Fernando Amaro, 1139
Curitiba, PR 80050-020 Tel/Fax: +55 (041) 262-5646
-----------------------------------------------------------
> -----Original Message-----
> From: Simone Freire [mailto:[EMAIL PROTECTED]]
> Sent: Quinta-feira, 25 de Mar�o de 1999 10:56
> To: [EMAIL PROTECTED]
> Subject: Garbage Collection
>
>
> Saudacoes a todos.
> Tenho um problema interessante, que acredito se deve ao garbage
> collector.
> Disponho, em um aplicativo, de uma opcao que inicializa
> um JInternalFrame, o qual, por sua vez, em um processsamento
> relativamente longo, absorve dados de um arquivo-texto para um arquivo
> .mdb, via JDBC:ODBC.
> Mantenho, no rodape do JInternalFrame, um JProgressBar que me da ideia
> da evolucao do processamento. Ao final da absorcao do arquivo-texto, me
> disconecto do mdb, em um bloco finally, anulando as variaveis de
> instancia envolvidas. Toda a importacao ocorre em uma Thread, com
> prioridade minima.
> Quando repito o procedimento, o processamento demora mais para finalizar
> e assim sucessivamente, ateh que trava o aplicativo, deve ser por falta
> de memoria.
> Sei que o garbage collector, mesmo com System.gc(),
> nao eh invocado de imediato. Entao, qual a solucao para que nao ocorra a
> exaustao de memoria, consequentemente travando o aplicativo?
> Andre.
>
>
>
> _________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com address at http://mail.yahoo.com
>
> * Para nao receber mais e-mails da lista, acesse
> <http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque
> seu e-mail, escolha a lista <[EMAIL PROTECTED]> e de um <submit>.
>
* Para nao receber mais e-mails da lista, acesse
<http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu e-mail, escolha a
lista <[EMAIL PROTECTED]> e de um <submit>.