🚀 2.6 Ciclo de Vida da Activity
A Activity é um componente de aplicação com um ciclo de vida rigoroso. Quando o usuário navega, sai ou retorna para a aplicação, a atividade transita por diferentes estados. Compreender esse fluxo é vital para gerenciar recursos (como conexões de rede e banco de dados) e garantir uma experiência de usuário Premium, sem travamentos ou perda de dados.
O Fluxo de Estados
Abaixo, o diagrama oficial simplificado utilizando a padronização Quartz:
graph TD subgraph SG1 ["Ciclo de Vida da Activity"] A([Início]) --> B[onCreate] B --> C[onStart] C --> D[onResume] D -- "App em Execução" --> E{Usuário sai?} E -- "Parcialmente visível" --> F[onPause] E -- "Totalmente oculto" --> G[onStop] F --> D G --> C G --> H[onDestroy] H --> I([Fim]) end style B fill:#e3f2fd,stroke:#1e88e5 style D fill:#f1f8e9,stroke:#558b2f style H fill:#fdf2f2,stroke:#c0392b
Principais Callbacks (Java 17)
Sempre que a Activity muda de estado, o Android aciona um método correspondente. No Android Studio 2023.1, herdamos de AppCompatActivity:
public class MinhaActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Inicialização de UI, ViewBinding e variáveis essenciais.
}
@Override
protected void onStart() {
super.onStart();
// A activity está quase visível.
}
@Override
protected void onResume() {
super.onResume();
// A atividade ganha o foco e está pronta para interação (Foreground).
}
@Override
protected void onPause() {
super.onPause();
// Outra atividade está recebendo o foco. Salve dados persistentes aqui.
}
@Override
protected void onStop() {
super.onStop();
// A atividade não está mais visível. Libere recursos pesados.
}
@Override
protected void onDestroy() {
super.onDestroy();
// Limpeza final antes do componente ser removido da memória.
}
}
> [!IMPORTANT]
>
> Lembre-se sempre de invocar a implementação padrão `super.metodo()` ao sobrescrever os callbacks do ciclo de vida. Isso garante que o framework do Android execute as tarefas internas necessárias para a estabilidade do sistema.
---
[[Informática para Internet/Desenvolvimento para Dispositivos Móveis II/capitulo_019|⬅️ Capítulo Anterior]] | [[Informática para Internet/Desenvolvimento para Dispositivos Móveis II/capitulo_021|Próximo Capítulo ➡️]]