Ciclo de Vida do App (App Lifecycle)
Definição
O Ciclo de Vida do App (App Lifecycle) descreve os diferentes estados que um aplicativo móvel percorre durante sua existência em um dispositivo — desde o momento em que é aberto até seu encerramento. Cada sistema operacional (como Android ou iOS) define etapas bem específicas sobre como o app é iniciado, ativado, pausado, colocado em segundo plano e encerrado.
Compreender esse ciclo é essencial para criar aplicativos estáveis, responsivos e eficientes, que saibam lidar corretamente com mudanças de contexto — como chamadas telefônicas, alternância entre apps ou encerramento pelo sistema.
Objetivos do Ciclo de Vida do App
- Gerenciar recursos de forma eficiente: Controlar uso de memória, processador e bateria com base no estado atual do app.
- Preservar a experiência do usuário: Manter dados e contexto entre pausas, trocas de tela ou interrupções inesperadas.
- Evitar falhas: Lidar corretamente com mudanças de estado previne comportamentos inesperados ou perda de dados.
Exemplo prático (Java — Android)
No Android, o ciclo de vida de uma Activity
é controlado por métodos que o sistema chama automaticamente de acordo com o estado do app. Abaixo, um exemplo em Java:
import android.os.Bundle;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("Lifecycle", "onCreate: App criado");
}
@Override
protected void onStart() {
super.onStart();
Log.d("Lifecycle", "onStart: App iniciado");
}
@Override
protected void onResume() {
super.onResume();
Log.d("Lifecycle", "onResume: App ativo");
}
@Override
protected void onPause() {
super.onPause();
Log.d("Lifecycle", "onPause: App pausado");
}
@Override
protected void onStop() {
super.onStop();
Log.d("Lifecycle", "onStop: App parado");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("Lifecycle", "onDestroy: App destruído");
}
}
Cada método acima representa um ponto de transição no ciclo de vida. É possível executar ações apropriadas em cada etapa, como salvar dados ou liberar recursos.
O ciclo do App no Android
Início do app:
--> onCreate()
--> onStart()
--> onResume()
Usuário sai do app (ex: pressiona Home ou troca de app):
--> onPause()
--> onStop()
Usuário retorna ao app:
--> onRestart()
--> onStart()
--> onResume()
App é encerrado (ex: fechado manualmente ou pelo sistema):
--> onPause()
--> onStop()
--> onDestroy()
Resumo dos métodos principais
onCreate()
— chamado uma vez ao criar aActivity
; usado para inicializar a interface e variáveis.onStart()
— chamado quando o app se torna visível ao usuário.onResume()
— chamado quando o app está pronto para interação.onPause()
— chamado quando outra tela ou app ganha foco (interrupção parcial).onStop()
— chamado quando o app sai totalmente da tela.onDestroy()
— chamado antes daActivity
ser destruída definitivamente.