Sobes.tech
Junior — Middle

Mis vahe on Activity ja Fragmenti elutsükli faasidel Androidis?

sobes.tech AI

Vastus AI-lt

Android-s elulõik Activity ja Fragmentil on sarnased etapid, kuid on olulisi erinevusi:

  • Activity — see on iseseisev komponent, mis haldab kasutajaliidest. Selle elutsükkel algab onCreate(), järgneb onStart(), onResume(), ja ekraani väljumisel — onPause(), onStop(), onDestroy().

  • Fragment — on osa kasutajaliidesest Activity sees, sõltub Activity elutsüklist, kuid omab täiendavaid meetodeid:

    • onAttach() — fragment ühendub Activity-ga.
    • onCreateView() — fragmenti View hierarhia luuakse.
    • onActivityCreated() — Activity on täielikult loodud.
    • onDetach() — fragment eraldatakse Activity-st.

Peamine erinevus on see, et Fragmentil on üksikasjalikum elutsükkel, mis arvestab selle asukohta Activity sees ja selle enda UI haldamist, ning võimalust seda dünaamiliselt lisada või eemaldada. Activity haldab kogu ekraani ja on suurem konteiner.

Näide lihtsustatud Fragmenti elutsüklist:

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() }