Activities e Ciclo de Vida
Aprenda o que é uma Activity, compreenda os retornos de chamada do ciclo de vida da Activity (onCreate, onStart, onResume, onPause, onStop, onDestroy) e use ViewBinding.
Activities e Ciclo de Vida é uma aula grátis de Android Academy no CoddyKit. Esta é a aula 2 de 7. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Android Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Android Academy inclui 7 aulas no total.
O que é uma Activity?
Uma Activity é uma única tela do seu aplicativo Android.
- Cada tela (login, página inicial, configurações) é uma Activity
- Ela gerencia um layout (XML) e as interações do usuário
- É declarada no AndroidManifest.xml
Pense nela como o equivalente Android de uma página da Web — cada página é uma Activity.
Ciclo de vida de uma Activity
Uma Activity passa por uma série de estados do ciclo de vida conforme o usuário navega pelo aplicativo:
- Criada → Iniciada → Retomada (visível e ativa)
- Pausada (parcialmente oculta)
- Parada (completamente oculta)
- Destruída (a Activity não existe mais)
Você substitui métodos do ciclo de vida para responder a essas transições.
Retornos de chamada do ciclo de vida
Os seis principais retornos de chamada do ciclo de vida:
onCreate()— a Activity está sendo criada. Configure seu layout aqui.onStart()— a Activity se torna visível.onResume()— a Activity está em primeiro plano e o usuário pode interagir.onPause()— o usuário está saindo. Salve os dados temporários.onStop()— a Activity não está mais visível.onDestroy()— a Activity está sendo destruída.
Exemplo de MainActivity
Uma Activity mínima com registro do ciclo de vida:
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
private val TAG = "MainActivity"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Log.d(TAG, "onCreate")
}
override fun onResume() {
super.onResume()
Log.d(TAG, "onResume — user is here")
}
override fun onPause() {
super.onPause()
Log.d(TAG, "onPause — saving state")
}
override fun onDestroy() {
super.onDestroy()
Log.d(TAG, "onDestroy")
}
}Por que o ciclo de vida é importante
Erros comuns causados por ignorar o ciclo de vida:
- Reproduzir um vídeo em
onResume, mas esquecer de pausá-lo emonPause— isso consome a bateria - Registrar um ouvinte de sensor em
onCreate, mas não removê-lo emonDestroy— isso causa um vazamento de memória - Não salvar os dados do formulário em
onPause— o usuário perde o progresso durante uma ligação telefônica
Salvando o estado: onSaveInstanceState
Quando o usuário gira o telefone, a Activity é destruída e recriada. O estado da interface é perdido.
Salve o estado temporário em onSaveInstanceState(bundle) e restaure-o em onCreate(savedInstanceState).
Salvando e restaurando o estado
Persista os dados durante mudanças de configuração:
class CounterActivity : AppCompatActivity() {
private var count = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_counter)
// Restore saved state after rotation
count = savedInstanceState?.getInt("count") ?: 0
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putInt("count", count)
}
}Pilha de retorno
O Android gerencia uma pilha de retorno de Activities:
- Iniciar uma nova Activity coloca-a no topo da pilha
- Pressionar Voltar remove a Activity do topo da pilha e a destrói
- A Activity anterior é retomada automaticamente
Por isso, você não deve chamar finish() manualmente, a menos que queira especificamente remover a tela atual da pilha de retorno.
Mudanças de configuração
Qualquer mudança de configuração (rotação, mudança de idioma ou conexão de um teclado) recria a Activity por padrão.
A solução moderna é usar um ViewModel — ele sobrevive às mudanças de configuração e mantém seus dados com segurança. Você aprenderá sobre ViewModel no módulo de Arquitetura.
Verificação rápida
Em qual método do ciclo de vida você deve configurar o layout (chamar setContentView)?
Recapitulação: Activities e ciclo de vida
Agora você entende as Activities do Android:
- Uma Activity = uma tela do seu aplicativo
- Ciclo de vida: onCreate → onStart → onResume → onPause → onStop → onDestroy
- Salve o estado temporário em
onSaveInstanceState - A rotação destrói e recria a Activity
- O Android gerencia automaticamente uma pilha de retorno
A seguir: projetando telas com layouts e views.
Perguntas Frequentes
A aula “Activities e Ciclo de Vida” é grátis?
Sim — o texto completo de “Activities e Ciclo de Vida” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Android Academy, atualize para CoddyKit PRO. O curso de Android Academy inclui 7 aulas no total.
O que vou aprender em “Activities e Ciclo de Vida”?
Aprenda o que é uma Activity, compreenda os retornos de chamada do ciclo de vida da Activity (onCreate, onStart, onResume, onPause, onStop, onDestroy) e use ViewBinding. Você pratica Android Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Android Academy?
Nenhuma experiência prévia é necessária. Android Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 7.
Quanto tempo leva a aula “Activities e Ciclo de Vida”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Android Academy?
Sim. Cada aula de Android Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Estrutura do Projeto e Manifesto
- Activities e Ciclo de Vida
- Layouts e Views
- Tratamento da Entrada do Usuário
- Intents e Navegação
- Fragments
- Permissões e Solicitações em Tempo de Execução