Sobes.tech
Junior — Middle

Qual é a diferença entre as fases do ciclo de vida de Activity e Fragment no Android?

sobes.tech IA

Resposta da IA

O ciclo de vida de uma Activity e de um Fragment no Android tem etapas semelhantes, mas existem diferenças-chave:

  • Activity — é um componente independente que gere a interface de utilizador. O seu ciclo de vida começa com onCreate(), seguido de onStart(), onResume(), e ao sair da tela — onPause(), onStop(), onDestroy().

  • Fragment — é uma parte da interface dentro de uma Activity, dependente do ciclo de vida da Activity, mas com métodos adicionais:

    • onAttach() — o fragmento é anexado à Activity.
    • onCreateView() — criação da hierarquia View do fragmento.
    • onActivityCreated() — a Activity está completamente criada.
    • onDetach() — o fragmento é desanexado da Activity.

A principal diferença é que o Fragment tem um ciclo de vida mais detalhado, considerando o seu aninhamento na Activity e a gestão da sua própria UI, além de poder ser adicionado ou removido dinamicamente. A Activity gere toda a tela e é um contêiner maior.

Exemplo de um ciclo de vida simplificado do Fragment:

override fun onAttach(context: Context) { super.onAttach(context) }
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    return inflater.inflate(R.layout.fragment_layout, container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) }
override fun onDetach() { super.onDetach() }