Remover retângulo[Resolvido]

6 respostas
D

Me surgiu uma dúvida agora: se eu setar a altura e a largura de um retângulo para zero, ele é removido da aplicação ou ainda continua ocupando memória?

6 Respostas

ViniGodoy

Continua ocupando memória. E, aliás, há condições espciais na classe de retângulo para testar essa situação.

A única maneira de liberar memória seria eliminar todas as referências a esse retângulo, tal como acontece com qualquer classe Java.

D

ViniGodoy:
Continua ocupando memória. E, aliás, há condições espciais na classe de retângulo para testar essa situação.

A única maneira de liberar memória seria eliminar todas as referências a esse retângulo, tal como acontece com qualquer classe Java.

No caso eu setaria a altura e largura para zero e então atribuiria null a variavel?

ViniGodoy

Não precisa setar nada para 0.
Só atribuir null a variável já é suficiente.

Mas lembre-se você tem que atribuir null a variável, retira-la de listas, listeners ou qualquer outra coisa que pode estar referenciando o retângulo. Para ele ser removido, nada pode ele não pode ser referenciado por ninguém.

D

ViniGodoy:
Não precisa setar nada para 0.
Só atribuir null a variável já é suficiente.

Mas lembre-se você tem que atribuir null a variável, retira-la de listas, listeners ou qualquer outra coisa que pode estar referenciando o retângulo. Para ele ser removido, nada pode ele não pode ser referenciado por ninguém.

Quer dizer que se eu setar null em todos os lugares que é referenciado ele será removida da tela “na mesma hora”?

ViniGodoy

Sim, um retângulo é um objeto java qualquer.

A regra para objetos da classe dele é a mesma para qualquer objeto, é a do garbage collection.

D

Entendi. Muito obrigado pelo esclarecimento :wink:

Criado 9 de outubro de 2008
Ultima resposta 9 de out. de 2008
Respostas 6
Participantes 2