Sobes.tech
Junior — Middle

Kako sakupljač smeća prepoznaje da objekat više nije u upotrebi i može biti uklonjen?

sobes.tech АИ

Одговор од АИ

Sakupljač smeća (Garbage Collector) u Androidu (zasnovan na JVM ili ART) određuje da objekat više nije u upotrebi ako na njega nema aktivnih referenci iz korenskih objekata, kao što su stekovi niti, statička polja itd.

Proces je otprilike sledeći:

  • Sakupljač počinje od korenskih objekata i označava sve objekte do kojih se može doći putem referenci.
  • Svi objekti koji nisu označeni smatraju se nedostupnim i mogu biti obrisani.

Na ovaj način, ako objekat nije dostupan iz aktivnog koda, smatra se smećem i podložan je sakupljanju.

Ovo se naziva algoritam dubinskog pretraživanja ili označavanja i čišćenja (mark-and-sweep).