Sobes.tech
Junior — Middle

Qual è la differenza tra le fasi del ciclo di vita di Activity e Fragment in Android?

sobes.tech AI

Risposta dell'AI

Il ciclo di vita di Activity e Fragment in Android ha fasi simili, ma ci sono differenze chiave:

  • Activity — è un componente autonomo che gestisce l'interfaccia utente. Il suo ciclo di vita inizia con onCreate(), seguito da onStart(), onResume(), e quando si lascia lo schermo — onPause(), onStop(), onDestroy().

  • Fragment — è una parte dell'interfaccia all'interno di un'Activity, dipendente dal ciclo di vita dell'Activity, ma con metodi aggiuntivi:

    • onAttach() — il fragment viene allegato all'Activity.
    • onCreateView() — creazione della gerarchia View del fragment.
    • onActivityCreated() — l'Activity è completamente creata.
    • onDetach() — il fragment si stacca dall'Activity.

La differenza principale è che il Fragment ha un ciclo di vita più dettagliato, considerando il suo annidamento nell'Activity e la gestione della propria UI, oltre alla possibilità di essere aggiunto o rimosso dinamicamente. L'Activity gestisce l'intera schermata ed è un contenitore più grande.

Esempio di ciclo di vita semplificato del 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() }