Сборщик мусора в Android (JVM) использует алгоритм Reachability Analyzers. Он определяет досягаемость (reachability) объектов из "корней" (GC roots).
Объект не может быть уничтожен, если он достижим из любого GC root. Объект может быть уничтожен, если он недостижим из любого GC root.
Примеры GC roots:
Алгоритм работает в несколько этапов:
В более современных сборщиках мусора могут использоваться и другие техники (например, поколения), но базовый принцип определения достижимости остается ключевым.