Sobes.tech
Junior — Middle

Quais ciclos de vida da atividade são ativados ao aparecer uma janela de diálogo?

sobes.tech IA

Resposta da IA

Quando uma janela de diálogo aparece no Android, o ciclo de vida da atividade é afetado da seguinte forma:

  • A janela de diálogo geralmente é criada sobre a atividade atual, sem destruí-la ou pará-la completamente.
  • A atividade que exibe o diálogo geralmente permanece no estado Resumed (ativa e na frente), pois o diálogo não fecha completamente a tela.

No entanto, se o diálogo for implementado como uma atividade separada com um tema de diálogo, então ao aparecer:

  • A atividade principal passa para o estado Paused (onPause é chamado), pois outra atividade aparece sobre ela.
  • A atividade de diálogo passa por onCreate, onStart, onResume.

Se o diálogo for apenas um Dialog ou DialogFragment, então o ciclo de vida da atividade principal não muda, e os métodos onPause/onResume não são chamados.

Resumindo:

  • Quando um diálogo padrão (Dialog, DialogFragment) aparece, o ciclo de vida da atividade não muda — onPause/onResume não são chamados.
  • Quando uma atividade de diálogo aparece, a atividade principal recebe onPause, e a atividade de diálogo passa por onCreate, onStart, onResume.

Isso é importante para gerenciar o estado do aplicativo e os recursos.