Categories: Sviluppo

Rilascio della memoria degli outlet

Una delle cose che trovo più complesse nello sviluppo in Objective-C è la gestione della memoria. Per quanto la si studi e per quanto se ne legga ci si trova sempre in situazioni in cui non si capisce bene come funzioni.

Una regola che a mio avviso non è così ben documentata è la seguente: gli oggetti definiti nel file di include mediante la direttiva IBOutlet e quindi collegati in Interface Builder ai rispettivi elementi della UI vanno rilasciati in modo esplicito con una release nel messaggio di dealloc.

Nei file generati in modo automatico da XCode ciò avviene per esempio per la UIWindow e per il View Controller. Ma in quanto generati in automatici spesso non ci si fa troppa attenzione.

Quindi il fatto di utilizzare l’Interface Builder ci evita di dover allocare ed inizializzare da codice l’oggetto ma non di rilasciarlo quando non più necessario.

Come sempre comunque il migliore amico dello sviluppatore iPhone/iPad è Instruments con la possibilità di rilevazione dei leaks che esso offre. Ogni applicazione dovrebbe essere analizzata a fondo con Instruments con l’obiettivo di eliminare ogni leak (ovviamente se causato dal nostro codice e non presente nei vari framework).

Paolo

Share
Published by
Paolo
Tags: memoria

Recent Posts

Ogrodnistwo

https://youtu.be/ikhG3K3KRk8 Peppa: Jestem świnka Peppa. To mój mały brat George. To mama świnka. A to…

3 anni ago

Zagubione okulary taty

https://www.youtube.com/watch?v=uhHHH8GqxK4 Peppa: Jestem świnka Peppa. To mój mały brat George. To mama świnka. A to…

3 anni ago

Świnka w środku

https://www.youtube.com/watch?v=iD4XxFky5e4 Peppa: Jestem świnka Peppa. To mój mały brat George. To mama świnka. A to…

3 anni ago

Mama świnka w pracy

https://youtu.be/KDYDkS4mVuw Peppa: Jestem świnka Peppa. To mój mały brat George. To mama świnka. A to…

3 anni ago

Przedszkole

https://www.youtube.com/watch?v=TTi9aMd325s Peppa: Jestem świnka Peppa. To mój mały brat George. To mama świnka. A to…

3 anni ago

Auto elettrica? Per me ancora no ma ragioniamoci.

Dopo aver parlato di quella che ritengo disinformazione riguardo agli investimenti nei piani di accumulo,…

3 anni ago