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 