Сборщик мусора в Dart основан на алгоритме Generational Garbage Collection.
Особенности:
- Generational: Объекты делятся на "молодых" (new space) и "старых" (old space). Большинство объектов живут недолго, поэтому сборка "молодых" происходит чаще и быстрее.
- Two-Finger Algorithm: Используется для сборки "молодых" объектов. Два указателя проходят по живому графу объектов, перемещая живые объекты в "старое" поколение.
- Mark-Sweep: Применяется для сборки "старых" объектов. Сначала помечаются живые объекты, затем удаляются все непомеченные.
- Stop-the-World: Сборка мусора прио