Junior — Middle
Kuidas käitub Fragment konfiguratsiooni muutmisel, kui käivitatakse käsk setRetainInstance(true)?
sobes.tech AI
Vastus AI-lt
Kui Fragmentis kutsutakse välja käsk setRetainInstance(true), siis konfiguratsiooni muutmisel (näiteks ekraani pööramisel) ei hävine ega luuakse fragmenti eksemplar uuesti. See võimaldab säilitada fragmenti ja selle andmeid ilma uuesti initsialiseerimata.
Käitumise omadused:
- Fragment säilitatakse ja kasutatakse uuesti pärast Activity uuesti loomist.
- Fragmenti sees olevad väljad ja objektid säilivad, mis on kasulik pikemaajaliste operatsioonide (näiteks andmete laadimine) jaoks.
- Kuid fragmenti vaade luuakse uuesti, seega tuleb viited vaatele uuendada elutsükli meetodites (näiteks
onCreateView).
Oluline: alates uuematest Androidi versioonidest peetakse setRetainInstance(true) kasutamist vananenuks ning soovitatakse kasutada muid lähenemisviise oleku säilitamiseks, näiteks ViewModel.