quinta-feira, 3 de maio de 2012

Ciclo de vida de uma activity (atividade)

Android )




É muito importante entender o ciclo de vida de uma activity. isto é, os possíveis estados em que ela se encontra, que podem ser: executando, temporariamente interrompida em segundo plano ou completamente destruida.

Existem vários métodos que podem ser implementados na activity para controlar o estado da aplicação. 

Vou detalhar cada método do ciclo de vida da activity: 


onCreate(Bundle)   O método onCreate(Bundle) é obrigatório e é chamado uma única vez. Nesse método deve-se criar uma   view e chamar o método setContentView(View) para exibir-la na tela. Logo depois que o método onCreate(Bundle) é finalizado, o método onStart() é chamado para iniciar o ciclo de vida visível da activity.


onStart()   O método onStart() é chamado quando a activity está ficando visível ao usuário e já tem uma view. Pode ser chamado depois dos métodos onCreate(Bundle) e onRestart(), dependendo do estado da aplicação. O próximo método depois do onStart() é sempre onResume().


onRestart()  O método onRestart() é chamado quando a activity foi parada temporariamente e está sendo iniciada outra vez. O método onResume() chama o método onStart() de forma automática.


onResume()    O método onResume() é chamado quando uma activity está no topo da pilha "activity stack", e e dessa forma já está executando como a activity principal e pronta para interagir com o usuário. Podemos dizer que o método onResume() representa o estado de que a activity está executando. O método é chamado sempre depois do onStart(). 


onPause()   Se algum evento ocorrer, como o celular entrar em modo de espera/dormir para ecomonizar energia ou  uma Intent está sendo processsada, a activity do topo da pilha que está executando pode ser temporariamente interrompida. Para isso o método onPause() é chamado para salvar o estado da aplicação, para que posteriormente  quando a activity voltar a executar, tudo possa ser recuperado, se necessário no método onResume(). 


onStop()  O método onStop() é chamado quando a activity está sendo encerrada, é não está mais visível ao usuário, o que o que pode ocorrer quando outra activity é iniciada, por exemplo. Depois de parada a activity pode ser reiniciada se necessário. Caso isso ocorra, o método onResume() é chamado para reiniciar a activity. Caso a activity fique muito tempo parada em segundo plano e o sistema operacional do Android precise limpar os recursos para liberar memória , o método onDestroy() pode ser automáticamente chamado, para remover completamente a activity da pilha. 


onDestroy()   O método onDestroy literalmente encerra a execução de uma activity. O método onDestroy() pode ser chamado automaticamente pelo sistema operacional para liberar recursos ou pode se chamado pela aplicação pela método finish() da classe Activity. depois do método onDestroy() ter executado a activity é removida completamente  da pilha e seu processo no sistema operacional também é completamente encerrado.




3 comentários:

  1. Faltou so um exemplo na prática.. Tens algum código para ilustrar o q explicou?

    ResponderExcluir
    Respostas
    1. Todos esses métodos pertencem ao ciclo de vida de todas as Activitys, nativas ou não. Quando você recebe uma ligação, abre seu email, ou qualquer tela no Android esse ciclo é início, o android chama esses métodos automaticamente. Você sobre escreve os métodos de acordo com a sua necessidade. Mas nos próximos posts estarei demonstrando como utilizar o ciclo no desenvolvimento.

      Excluir
  2. Maravilha.. Obrigado pelas explicações!

    ResponderExcluir