Middle+
Millistel juhtudel tuleks kutsuda meetodit commitAllowingStateLoss?
sobes.tech AI
Vastus AI-lt
Tööfragmentidega töötades, kui on oht oleku kaotamiseks, näiteks:
- Asünkroonsetes tagasikutsumistes (näiteks laadijatest).
- Tegevuste tulemuste saamisel (onActivityResult).
- Pärast
onSaveInstanceStatekutsumist, kuid enneonStop.
commitAllowingStateLoss kasutamine takistab IllegalStateException erandi tekkimist, kuid võib põhjustada UI ja andmete vahel ebakõlasid, kuna fragment võib olla lisamata või eemaldamata, kui tegevus on taustal. Seda tuleks kasutada teadlikult, mõistes võimalikke kõrvaltoimeid. Soovitatav on kasutada commit() ja koodi ümberstruktureerimist, et vältida oleku kaotust.