Sobes.tech
Junior — Middle

Jaka jest różnica między fazami cyklu życia Activity i Fragment w Androidzie?

sobes.tech AI

Odpowiedź od AI

Cykl życia Activity i Fragment w Android ma podobne etapy, ale istnieją kluczowe różnice:

  • Activity — jest niezależnym komponentem zarządzającym interfejsem użytkownika. Jego cykl życia zaczyna się od onCreate(), następnie onStart(), onResume(), a przy opuszczaniu ekranu — onPause(), onStop(), onDestroy().

  • Fragment — jest częścią interfejsu wewnątrz Activity, zależną od cyklu życia Activity, ale posiada dodatkowe metody:

    • onAttach() — fragment jest dołączany do Activity.
    • onCreateView() — tworzenie hierarchii View fragmentu.
    • onActivityCreated() — Activity jest w pełni utworzona.
    • onDetach() — fragment jest odłączany od Activity.

Główna różnica polega na tym, że Fragment ma bardziej szczegółowy cykl życia, uwzględniający jego zagnieżdżenie w Activity i zarządzanie własnym UI, a także możliwość dodawania lub usuwania go dynamicznie. Activity zarządza pełnym ekranem i jest większym kontenerem.

Przykład uproszczonego cyklu życia 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() }