Remover retângulo[Resolvido]

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?

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.

[quote=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.[/quote]

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

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.

[quote=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.[/quote]

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

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

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

Entendi. Muito obrigado pelo esclarecimento :wink: