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ärgnebonStart(),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() }