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.