quarta-feira, 11 de abril de 2012

Android: Activity - Ciclo de Vida

Entender o que é um ciclo de vida de uma Activity é fundamental para a criação de uma aplicação mais robusta. Caso sua aplicação é interrompida por uma ligação, e como sua aplicação irá se comportar após sua ligação for finalizada. Após está interrupção, teria que voltar ao mesmo ponto onde sua aplicação parou. Então precisamos entender cada ciclo de vida de uma Activity.


O diagrama a seguir mostra os caminhos importantes de uma Activity e seu ciclo de vida.

Abaixo iremos ver os métodos que controlam os estados da sua aplicação.
  • onCreate() É a primeira função a ser executada quando uma Activity é lançada. Geralmente é a responsável por carregar os layouts XML e outras operações de inicialização. É executada somente uma vez durante a “vida útil” da Activity.
  • onStart() É chamada imediatamente após a onCreate() – e também quando uma Activity que estava em background volta a ter foco.
  • onResume() Assim como a onStart(), é chamada na inicialização da Activity (logo após a própria onStart())  e também quando uma Activity volta a ter foco. Qual a diferença entre as duas? A onStart() só é chamada quando a Activity não estava mais visível na tela e volta a ter o foco, enquanto a onResume() sempre é chamada nas “retomadas de foco”.
  • onPause() É a primeira função a ser invocada quando a Activity perde o foco (ou seja, uma outra Activity vem à frente).
  • onStop()Análoga à onPause(), só é chamada quando a Activity fica completamente encoberta por outra Activity (não é mais visível).
  • onDestroy() A última função a ser executada. Depois dela, a Activity é considerada “morta” – ou seja, nao pode mais ser relançada. Se o usuário voltar a requisitar essa Activity, outro objeto será contruído.
  • onRestart() Chamada imediatamente antes da onStart(), quando uma Activity volta a ter o foco depois de estar em background.

Segue um exemplo de como ocorre um ciclo de vida de uma Activity. Cada método mostra no Log quando cada um foi executado.

Crie um novo projeto e cole o código em sua Classe Activity gerada.

Execute a aplicação e visualize o Log.
Para visualizar as mensagens do Log, vá em “Window/Show View/Other/LogCat”.

1 - Ao executar sua aplicação observe que no Log mostrou:


2 - Depois disso clique no botão voltar do emulador e veja novamente o Log:


3 - Clique novamente na sua aplicação:


  1. Note que na 1° etapa os métodos onCreate e onResume foram criados.
  2. Depois na 2° etapa os métodos passaram para onPause, onStop e onDestroy.
  3. E quando voltou novamente na sua aplicação chamou os métodos onCreate e onResume.

Hoje vimos detalhes sobre o ciclo de vida de uma Activity. No próximo post será Criando mais que uma Activities. Até +.

Nenhum comentário:

Postar um comentário