iOS

Memory Management & ARC

ARC, strong/weak/unowned, retain cycles, capture lists, wycieki pamięci, profiling

22 pytań z rozmów·
Senior
1

Czym jest ARC (Automatic Reference Counting) w iOS?

Odpowiedź

ARC to automatyczny mechanizm zarządzania pamięcią, który zlicza referencje do obiektu. Kompilator automatycznie wstawia wywołania retain i release, eliminując ręczne zarządzanie. Gdy liczba referencji osiągnie zero, obiekt jest zwalniany. ARC znacznie upraszcza programowanie w iOS, zapobiegając typowym wyciekom pamięci.

2

Czym jest strong reference w ARC?

Odpowiedź

Strong reference zwiększa licznik referencji wskazywanego obiektu. Domyślnie wszystkie zmienne są strong reference. Obiekt pozostaje w pamięci, dopóki wskazuje na niego co najmniej jedna strong reference. Używanie zbyt wielu strong reference może tworzyć retain cycles, które uniemożliwiają zwolnienie pamięci.

3

Czym jest retain cycle (cykl referencji)?

Odpowiedź

Retain cycle występuje, gdy dwa lub więcej obiektów wzajemnie utrzymują strong references. Żaden nie może zostać zwolniony, ponieważ każdy uniemożliwia, by licznik referencji drugiego osiągnął zero. Powoduje to wyciek pamięci. Retain cycles można uniknąć, używając weak lub unowned references w relacjach cyklicznych.

4

Jaka jest rola deinit w zarządzaniu pamięcią ARC?

5

Jaka jest różnica między weak a unowned reference?

+19 pytań z rozmów

Opanuj iOS na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo