Cursos / Informática para Internet / Dispositivos Móveis / Aula
Quando vimos, na primeira aula desse curso, as diferenças entre a programação para dispositivos móveis e a programação desktop, observamos que uma das principais diferenças é a possibilidade da ocorrência de eventos assíncronos, no caso da programação mobile. Esses eventos ocorrem sem que tenhamos controle sobre eles, e uma boa aplicação desenvolvida para dispositivos móveis deve sempre se preocupar em tratá-los corretamente.
Pensando nesses eventos e no ciclo normal da aplicação, o Android disponibiliza diversos métodos que devem ser implementados nas Activities para que respondam corretamente a cada estado em que a Activity possa ser colocada enquanto durar o seu ciclo de vida. Para compreender esses métodos, é necessário antes entender cada um dos possíveis estados da Activity. São eles:
Veja que a mudança de estado pode ocorrer tanto de maneira controlada, como , por exemplo, uma Activity iniciando outra e sendo parada por esse motivo, quanto de uma maneira totalmente inesperada, como uma que estava sendo executada ser parada por uma ligação que está chegando e então morta pela falta de memória gerada ao atender essa chamada. Ambas as maneiras vão gerar na Activity o mesmo ciclo, passando pelos mesmos métodos e estados. Por isso, cuidado na hora de planejar os estados de sua Activity. Para facilitar o entendimento de cada um dos estados, vejamos a Figura 1.
Na Figura 1, vemos, à esquerda, a Activity 1 em execução, ou seja, Ativa. As Activities 2 e 3 estão no estado Mortas, pois ainda não foram iniciadas. Ao centro da Figura 1, vemos um exemplo onde a Activity 2 passou a ser Ativa, enquanto a de número 1 passou a Pausada, pois está na tela, mas sem o foco. À direita da Figura 1, a Activity 3 foi inicializada, passando ao estado Ativa, enquanto as Activities 1 e 2, que ainda estão executando porém não estão visíveis, foram para o estado Paradas.
Ao iniciarmos uma nova Activity, ela será colocada no topo da pilha de exibição das Activities. É como se fossemos empilhando as telas da aplicação, sendo que cada nova Activity será colocada no topo, e as anteriores ainda irão existir, mas estarão paradas. Elas só irão voltar a estar ativas quando a(s) Activity(ies) que estão acima delas forem finalizadas. Uma vez finalizada, uma Activity será removida do topo da pilha e a Activity imediatamente abaixo voltará a ficar ativa.
Conhecendo os estados da Activity, podemos estudar o seu ciclo de vida e quais são os métodos que o Android disponibiliza para prepará-la para passar por cada fase do ciclo.
Versão 5.3 - Todos os Direitos reservados