Sobes.tech
Junior — Middle

Care este rolul contorului de referințe slabe în gestionarea memoriei?

sobes.tech AI

Răspuns de la AI

Contorul de referințe slabe (weak reference count) este utilizat în sistemele de gestionare a memoriei cu numărătoare de referințe (de exemplu, în ARC pe iOS) pentru a preveni dependențele ciclice.

Ideea principală:

  • Referințele puternice (strong references) cresc contorul de deținere al obiectului, împiedicând ștergerea acestuia.
  • Referințele slabe (weak references) nu cresc contorul de deținere, deci nu împiedică ștergerea obiectului.

Rolul contorului de referințe slabe:

  • Permite urmărirea câte referințe slabe indică spre un obiect.
  • Când obiectul este șters (contorul de referințe puternice ajunge la zero), referințele slabe sunt setate automat la null pentru a evita pointerii atârnați.

Exemplu: dacă două obiecte se referă reciproc prin referințe puternice, ele nu vor fi niciodată șterse. Utilizarea referințelor slabe întrerupe ciclul, permițând sistemului să elibereze memoria în mod corect.