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 a- Activity; 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 da- Activityser destruída definitivamente.
 ECOSSISTEMA PYTHON
 ECOSSISTEMA PYTHON  LINUX
 LINUX  ASSEMBLY NASM
 ASSEMBLY NASM  JAVA
 JAVA