Sobes.tech
Junior — Middle

Jaký je rozdíl mezi fázemi životního cyklu Activity a Fragment v Androidu?

sobes.tech AI

Odpověď od AI

Životní cyklus Activity a Fragment v Androidu má podobné fáze, ale existují klíčové rozdíly:

  • Activity — je samostatná komponenta, která řídí uživatelské rozhraní. Její životní cyklus začíná onCreate(), následuje onStart(), onResume(), a při opuštění obrazovky — onPause(), onStop(), onDestroy().

  • Fragment — je část rozhraní uvnitř Activity, závislá na životním cyklu Activity, ale má další metody:

    • onAttach() — fragment je připojen k Activity.
    • onCreateView() — tvorba hierarchie View fragmentu.
    • onActivityCreated() — Activity je plně vytvořena.
    • onDetach() — fragment je odpojen od Activity.

Hlavní rozdíl je, že Fragment má podrobnější životní cyklus, který zohledňuje jeho vnoření v Activity a správu vlastního UI, a také možnost být dynamicky přidán nebo odebrán. Activity spravuje celý obrazovku a je větším kontejnerem.

Pří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() }