Automatic Reference Counting

Nella programmazione Objective-C, Automatic Reference Counting (ARC) è un miglioramento del sistema di gestione della memoria, dove il problema di tenere traccia del reference count di un oggetto viene spostato dal programmatore al compilatore.[1]

Nella programmazione Objective-C tradizionale, il programmatore avrebbe dovuto mandare dei messaggi di retain e release agli oggetti per deallocare o prevenire la deallocazione.[2] Con ARC, il compilatore lo fa automaticamente esaminando il codice sorgente e aggiungendo i messaggi di retain e release nel codice compilato.[3]

ARC non è uguale al garbage collector, visto che non ci sono thread in background che agiscono per deallocare gli oggetti che non sono più puntati in altre parti del codice.[4] Al contrario del garbage collector, ARC non gestisce automaticamente reference counting i riferimenti nei clicli; è compito del programmatore fermare i cicli utilizzando weak references[5]

ARC è stato introdotto da Apple Inc. nel 2011 per lo sviluppo di applicazioni su OS X Lion e iOS 5[6].

David Chisnall ainformIT ha detto di vedere ARC come "the first significant improvement to Objective-C since the 1980s" (il primo miglioramento significativo per l'Objective-C dagli anni '80).[7]

ARC è supportato in Xcode 4.2 o superiori, OS X Snow Leopard o superiori, e iOS 4.0 o superiori, anche se da OS X Lion e iOS 5 viene raccomandato di utilizzarlo, weak references inclusi.

  1. ^ John Siracusa, Automatic Reference Counting, su Mac OS X 10.7 Lion: the Ars Technica review, https://arstechnica.com/. URL consultato il 15 agosto 2012.
  2. ^ José R.C. Cruz, Automatic Reference Counting on iOS, su drdobbs.com, Dr.Dobb's. URL consultato il 21 agosto 2012 (archiviato dall'url originale il 16 agosto 2012).
  3. ^ Stephen G. Kochan, Programming in Objective-C, 4th, Boston, Mass., Addison-Wesley, 1912, p. 408, ISBN 978-0-321-81190-5.
  4. ^ Kevin Hoffman, Sams teach yourself Mac OS X Lion app development in 24 hours, Indianapolis, Ind., Sams, 2012, p. 73, ISBN 978-0-672-33581-5.
  5. ^ General, su Automatic Reference Counting, https://clang.llvm.org/. URL consultato il 15 agosto 2012.
  6. ^ Kazuki Sakamoto, Pro Multithreading and Memory Management for Ios and OS X With Arc, Grand Central Dispatch and Blocks., Apress, 2012, xii, ISBN 978-1-4302-4116-4.
  7. ^ David Chisnall, Automatic Reference Counting in Objective-C, Part 2: The Details, su informit.com, informIT. URL consultato il 18 agosto 2012.

Voci correlate

modifica

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica