Sobes.tech
Junior — Middle

Šta su koreni sakupljača smeća (GC Roots) i kako utiču na proces automatskog upravljanja memorijom?

sobes.tech АИ

Одговор од АИ

Koreni GC su objekti koji se smatraju ulaznim tačkama za sakupljač smeća prilikom određivanja dostupnosti objekata u memoriji. Oni služe kao početna tačka za obilazak grafa objekata.

U Androidu (i u Javi općenito), koreni GC mogu biti:

  • Referencije sa steka niti (lokalne promenljive i parametri metoda)
  • Statička polja klasa
  • Referencije iz JNI (Java Native Interface)
  • Aktivni objekti u sistemskim klasama

Sakupljač smeća počinje obilazak od korena GC i označava sve objekte do kojih se može doći putem lanca referenci. Objekti do kojih se ne može doći smatraju se neiskorišćenim i mogu biti uklonjeni.

Na ovaj način, koreni GC utiču na proces upravljanja memorijom, određujući koji objekti se smatraju živim i ne podliježu sakupljanju.