Sobes.tech
Junior — Middle

Как Garbage Collector определя, че обектът вече не се използва и може да бъде премахнат от паметта?

sobes.tech AI

Отговор от AI

Garbage Collector (GC) в Android (и в Java като цяло) определя, че обект вече не се използва, чрез алгоритъма за достижимост (reachability).

Принцип на работа:

  • GC започва с кореновите обекти (root references), като локални променливи в стека, статични полета и др.
  • Обхожда всички обекти, към които има препратки от корените.
  • Всички обекти, до които не може да се достигне чрез верига от препратки от корените, се считат за недостъпни.
  • Недостъпните обекти се считат за отпадъци и могат да бъдат премахнати от паметта.