Sobes.tech
Junior — Middle

Aký je rozdiel medzi fázami životného cyklu Activity a Fragment v Android?

sobes.tech AI

Odpoveď od AI

Životný cyklus Activity a Fragment v Android má podobné fázy, ale existujú kľúčové rozdiely:

  • Activity — je samostatná komponenta, ktorá spravuje používateľské rozhranie. Jeho životný cyklus začína s onCreate(), nasleduje onStart(), onResume(), a pri opustení obrazovky — onPause(), onStop(), onDestroy().

  • Fragment — je časť rozhrania vo vnútri Activity, závislá od životného cyklu Activity, ale má ďalšie metódy:

    • onAttach() — fragment je pripojený k Activity.
    • onCreateView() — vytváranie hierarchie View fragmentu.
    • onActivityCreated() — Activity je úplne vytvorená.
    • onDetach() — fragment sa odpojí od Activity.

Hlavný rozdiel je, že Fragment má podrobnejší životný cyklus, ktorý zohľadňuje jeho vloženie v Activity a správu vlastného UI, ako aj možnosť byť dynamicky pridaný alebo odstránený. Activity spravuje celý obrazovku a je väčším kontajnerom.

Príklad zjednodušeného životného cyklu 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() }