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?
Remover retângulo[Resolvido]
6 Respostas
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.
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?
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.
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”?
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 