Antes de comearmos a falar sobre os mtodos do ciclo de vida de uma aplicao
dentro de um sistema operacional Android, precisamos definir alguns conceitos que sero usados com frequncia. Activity: a classe principal de uma aplicao, nossa classe main. Ciclo de vida: o tempo que uma aplicao executada, o incio, meio e fim. Primeiro plano/foco: Usamos esses dois termos quando a aplicao est sob a viso do usurio, onde ele tem acesso direto a ela. Segundo plano/Background: Esses termos so usados quando uma aplicao que estava em primeiro plano sobreposta a outra, deixando claro com um exemplo: Voc est usando o aplicativo Instagram, e aps a uma operao o aplicativo do facebook aberto automaticamente, ento dizemos que o Instagram deixa o primeiro plano, e assume o background, e o facebook agora fica em foco. Dentro de uma aplicao Android existem vrios mtodos que determinam o ciclo de vida da da classe Activity. Aqui citaremos detalhadamente cada uma. Essa imagem detalha bem o ciclo de vida de uma Activity, dentro dela h mtodos essenciais para o funcionamento correto de um aplicativo.
Em um sistema Operacional Android possvel que vrias Activity concorram pela aplicao principal, se uma aplicao iniciada e depois outra tambm, a primeira fica em segundo plano, provavelmente pausada, dependendo do que o SO vai ordenar para aplicao, veremos isso melhor mais pra frente. Sempre que a Activity iniciada, um mtodo chamado onCreate iniciado tambm, esse por sua vez, diferente dos que citaremos a frente, uma nica vez. Ele responsvel por toda a inicializao necessria para o funcionamento de uma Activity. Quando fechamos a aplicao ou inicializamos o SO necessrio que esse mtodo seja chamado novamente quando inicializarmos novamente a aplicao, ou seja, o mtodo chamado uma nica vez enquanto o aplicativo estiver dentro de sua vida til. Exemplo: Ao clicar para abrir o aplicativo do Twitter por exemplo, esse mtodo chamado, pode-se perceber que como a primeira vez que estamos usando o aplicativo demora-se alguns segundos a mais, pois esta sendo carregado as primeiras informaes necessrias para o sucesso da mesma.
Logo aps a execuo do mtodo onCreate obrigatoriamente chamado o mtodo onStart, que faz com que a Activity fique em primeiro plano, em contato direto com o usurio. Esse no somente chamado nesse caso, mas tambm quando uma aplicao que est em Background e ir voltar para primeiro plano.
O mtodo onResume tambm chamado quando o mtodo onStart termina sua execuo. ele quem faz a Activity ter foco principal, ento sempre que uma aplicao for iniciada ou quiser voltar a ter o foco principal o mtodo onResume participa do processo.
O mtodo onPause chamado quando uma aplicao em que est com o foco e sai para Background, ou seja, quando outra aplicao entra em ao e vai pro lugar dela em primeiro plano. Para ser reiniciado a Activity que foi pausada, usa-se o mtodo onResume. Exemplo: Est sendo executado o aplicativo do banco do brasil por exemplo, ento o browser aberto, ento na aplicao do banco do brasil o mtodo onPause chamado.
O mtodo onStop chamado quando a aplicao est sendo encerrada, no podemos confundir com o onPause, pois l a Activity est entrando em background, e aqui a aplicao entra em execuo novamente usando onRestart ou chamado o mtodo onDestroy para definitivamente encerrar a aplicao.
O mtodo onRestart chamado imediatamente antes do mtodo onStart, quando uma aplicao volta a ter o foco aps estar em segundo plano( background).
Mtodo onDestroy, dentro do ciclo de vida de uma aplicao a ultima funo a ser executada, ela responsvel por liberara memria da aplicao em atividade, aps isso, ela no pode ser mais usada dentro do mesmo ciclo, ou seja, no podemos dar um onStart ou um onResume. Para executarmos a mesma aplicao novamente s dentro de um novo ciclo de vida, que comeara novamente com o mtodo onCreate. A juno de todos os mtodos que foi visto a cima dirige o clico de vida de uma aplicao Android. O programador pode criar o mtodo como ele desejar, porm, quem ir decidir a hora correta de chamarem os mtodos, o SO do aparelho.