Sobes.tech
Middle

Dart-də tullantı toplayıcısı necə işləyir?

sobes.tech Süni İntellekt

AI-dan cavab

Dart-da, obyektlərin əlçatanlığının təhlilinə əsaslanan nəsil tullantıların yığılması algoritmi ilə tullantıların yığılması üçün toplayıcı istifadə olunur. Yaddaş nəsillərə bölünür: gənc (yeni nəsil) və köhnə (köhnə nəsil). Yeni obyektlər gənc nəsildə yaradılır, burada tullantıların yığılması daha tez və daha çox baş verir, çünki çox obyekt qısa müddət yaşayır.

Tullantıların yığılması toplayıcısı, kök nöqtələrindən (roots), məsələn, çağırış yığınlarından, qlobal dəyişənlərdən və qeydiyyatlardan obyektlərə olan istinadları izləyir. Əgər obyekt köklərdən əlçatan deyilsə, o, tullantı sayılır və silinə bilər.

Proses ümumiyyətlə belə işləyir:

  • Gənc nəsil tez-tez yığılır, qısa ömürlü obyektləri silir.
  • Bir neçə yığımda sağ qalan obyektlər köhnə nəsilə köçürülür.
  • Köhnə nəsil daha az yığılır, çünki oradakı obyektlər adətən daha uzunömürlü olur.

Bu yanaşma performansı optimallaşdırır və tullantıların yığılması zamanı fasilələri azaldır, bu da Flutter tətbiqləri üçün vacibdir, çünki interfeysin axıcılığı çox önəmlidir.