Sobes.tech
Junior — Middle

Cum detectează colectorul de gunoi că un obiect nu mai este utilizat și poate fi eliminat?

sobes.tech AI

Răspuns de la AI

Colectorul de gunoi (Garbage Collector) în Android (bazat pe JVM sau ART) determină că un obiect nu mai este utilizat dacă nu există referințe active către el din obiecte rădăcină, cum ar fi stivele de fire, câmpurile statice etc.

Procesul este aproximativ următorul:

  • Colectorul începe cu obiectele rădăcină și marchează toate obiectele accesibile prin referințe.
  • Toate obiectele care nu au fost marcate sunt considerate inaccesibile și pot fi eliminate.

Astfel, dacă un obiect nu este accesibil din codul activ, este considerat gunoi și supus colectării.

Acest algoritm se numește traversare în adâncime sau marcaj și curățare (mark-and-sweep).