Junior — Middle
Kaip atlieka šiukšlių surinkėjas, kad objektas daugiau nenaudojamas ir gali būti pašalintas?
sobes.tech AI
Atsakymas iš AI
„Android“ atlieka šiukšlių rinkėją (Garbage Collector), kuris nustato, kad objektas nebenaudojamas, jei nėra aktyvių nuorodų į jį iš šakninių objektų, tokių kaip sriegių stekai, statiniai laukai ir pan.
Procesas maždaug toks:
- Rinkėjas pradeda nuo šakninių objektų ir žymi visus objektus, prie kurių galima prieiti per nuorodas.
- Visi nepaminėti objektai laikomi neprieinami ir gali būti ištrinti.
Taip, jei objektas nėra pasiekiamas iš aktyvaus kodo, jis laikomas šiukšle ir yra surenkamas.
Šis algoritmas vadinamas giliausio paieškos arba žymėjimo ir valymo (mark-and-sweep) algoritmu.