Vidéo: TUTORIEL | COMMENT UTILISER L' APPLICATION FICHIERS SUR UN IPHONE | IPAD 2025
Le moyen le plus simple de gérer la mémoire pour les applications iOS est de laisser le runtime d'Objective-C s'occuper de lui en utilisant un système appelé le comptage automatique des références (ARC) - veuillez l'utiliser. (ARC est disponible depuis 2011 dans Xcode 4. 2 ou version ultérieure.)
Lors de la première utilisation d'iOS, vous deviez gérer manuellement la mémoire en suivant le cycle de vie des objets de votre programme. Vous l'avez fait en indiquant au système d'exécution Objective-C quand conserver et quand libérer des objets, en utilisant un schéma Apple appelé manual retain-release, qui utilisait une technique connue sous le nom de comptage des références .
Bien que la gestion manuelle de la mémoire soit certainement une nuisance, elle est expliquée ici parce que vous la verrez dans les anciens programmes iOS, alors vous pouvez tout aussi bien vous y préparer. Voici ce que vous faites. Tout d'abord, créez une classe qui hérite de la classe racine NSObject dans le framework Foundation. Votre classe hérite alors de trois méthodes de gestion de la mémoire:
-
retenez
-
libérez
-
autorelease
Ces trois méthodes manipulent toutes un compteur de référence dans l'objet qui indique essentiellement au système d'exécution combien d'endroits dans votre programme (ou d'autres objets) veulent conserver une référence au objet.
Voici comment ce compte de référence est géré par l'iOS:
-
Chaque fois que retain est appelé sur un objet cible, son nombre de références est augmenté de un.
Donc, si cinq objets appellent retain sur l'objet cible, son compte de référence sera cinq (accessoirement, lorsque l'objet est alloué, init incrémente automatiquement le nombre de références).
-
Alors qu'ils cessent d'avoir besoin de l'objet cible, les cinq objets appellent la libération sur l'objet. Chaque fois que la libération est appelée, le nombre de références de l'objet cible est décrémenté (d'une unité).
-
Lorsque le nombre de références devient nul (c'est-à-dire lorsque le dernier objet appelle la libération), la mémoire de l'objet est libérée par le système.
La troisième méthode - autorelease - est appelée quand un objet que vous avez créé doit être transmis à un thread et que vous voulez que le thread s'occupe de libérer l'objet quand le thread est terminé.
En interne, le système ARC utilise le même système de comptage de référence que celui utilisé pour le comptage manuel des références. Cependant, pour utiliser ARC, vous mettez votre code dans les blocs @autoreleasepool comme ceci:
@autoreleasepool {… Votre code …}
Le compilateur insère des appels de méthode de gestion de la mémoire dans le code que tout ce qui est créé dans ce bloc @autoreleasepool est libéré lorsque le programme quitte le bloc.
