Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Interator/Remove ou mudar posicao do cano?

A implementação do curso de Jogos com Android 2 no video da aula 5 mostra uma forma de interar sobre a coleção usando Interator para poder adicionar elementos na array e remover os elementos que saem da tela. Eu pensei em uma forma diferente dessa implementação, fazendo com que o cano se posicione atrás da tela, o meu código est'a abaixo. Minha pergunta 'e: qual desses dois métodos 'e melhor, e porquê?

public void move() {
        for (Cano cano : canos) {
            cano.move();
            if (cano.saiuDaTela()) {
                cano.setPosicao((int) (getMaximo() + DISTANCIA_ENTRE_CANOS));
            }
        }
    }

    public int getMaximo() {
        int maximo = 0;
        for (Cano cano : canos) {
            maximo = (int) Math.max(cano.getPosicao(), maximo);
        }
        return maximo;
    }
1 resposta
solução!

Remover o elemento eventualmente libera a memória usada por ele (quando o GC, garbage collector, rodar), reduzindo o custo de memória do dispositivo.

Mover o elemento seria mais interessante em casos em que ele deve ser reaproveitado em algum momento, sendo interessante também adicioná-lo em alguma lista de canosDisponiveis neste caso.

Em geral, se o objeto não será mais utilizado, é melhor demover as referências a ele para que possa ter sua memória liberada.