iOS

Memory Management & ARC

ARC, strong/weak/unowned, retain cycles, capture lists, memory leak, profiling

22 domande da colloquio·
Senior
1

Cos'è l'ARC (Automatic Reference Counting) in iOS?

Risposta

ARC è un meccanismo automatico di gestione della memoria che conta i riferimenti a un oggetto. Il compilatore inserisce automaticamente le chiamate retain e release, eliminando la gestione manuale. Quando il conteggio dei riferimenti raggiunge zero, l'oggetto viene deallocato. ARC semplifica notevolmente la programmazione iOS evitando i memory leak più comuni.

2

Cos'è una strong reference in ARC?

Risposta

Una strong reference incrementa il contatore di riferimenti dell'oggetto puntato. Per impostazione predefinita, tutte le variabili sono strong reference. L'oggetto rimane in memoria finché almeno una strong reference punta ad esso. Usare troppe strong reference può creare retain cycles che impediscono la deallocazione.

3

Cos'è un retain cycle (ciclo di ritenzione)?

Risposta

Un retain cycle si verifica quando due o più oggetti mantengono strong reference reciproche. Nessuno può essere deallocato perché ciascuno impedisce che il contatore di riferimenti dell'altro raggiunga zero. Questo crea un memory leak. I retain cycles si evitano usando weak o unowned reference nelle relazioni circolari.

4

Qual è il ruolo di deinit nella gestione della memoria ARC?

5

Qual è la differenza tra una weak e una unowned reference?

+19 domande da colloquio

Padroneggia iOS per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis