Gestion de la mémoire iOS


Gestion de la mémoire IOS


Introduction

L'idée de base de la gestion de la mémoire sous iOS est le comptage de références. Le cycle de vie des objets mémoire est contrôlé via le comptage de références des objets. Spécifique au temps de programmation, il existe deux méthodes principales :

1 : MRR (manual retention-release), comptage manuel des références, génération d'objets, destruction et modifications du nombre de références sont tous effectués par les développeurs.

2 : ARC (Automatic Reference Counting), comptage automatique de références, est uniquement responsable de la génération d'objets. Les développeurs d'autres processus n'ont plus à se soucier de leur destruction. La méthode d'utilisation est similaire au garbage collection, mais son essence est. toujours le comptage de références.

Problèmes rencontrés

Selon la documentation Apple, les deux principaux problèmes rencontrés sont :

Les données publiées ou écrasées sont toujours utilisées. Cela entraînera une corruption de la mémoire, entraînant généralement le blocage de l'application ou, pire encore, la corruption des données utilisateur.

Ne pas divulguer des données qui ne sont plus utilisées peut entraîner des fuites de mémoire. La mémoire allouée lors d'une fuite de mémoire n'est pas libérée, même si elle n'est plus jamais utilisée. Les fuites peuvent entraîner une utilisation accrue de la mémoire par les applications, ce qui peut entraîner de mauvaises performances du système ou un blocage.

Règles de gestion de la mémoire

Nous créons nos propres objets et les libérons lorsqu'ils ne sont plus nécessaires.

Gardez les objets dont vous avez besoin. Ces objets doivent être libérés s’ils ne sont plus nécessaires.

Ne libérez pas les objets qui ne nous appartiennent pas.

Utilisez des outils de gestion de la mémoire

Vous pouvez analyser l'utilisation de la mémoire à l'aide des instruments des outils Xcode. Il comprend des outils tels que Activity Monitor, Allocation, Leak, Zombie, etc.

Étapes pour analyser l'allocation de mémoire

1 Ouvrez une application existante.

2. Sélectionnez le produit, le profil est comme indiqué ci-dessous

mm_Profile

3 Sélectionnez Allocations et Profil dans l'interface suivante.

mm_ProfileSelect

4. Nous pouvons voir l'utilisation de la mémoire de différents objets

5 Vous pouvez changer de contrôleur de vue pour voir si la mémoire est libérée.

mm_Instruments_Allocations

6. De même, nous pouvons utiliser Activity Monitor pour afficher l'allocation de mémoire dans l'application.

mm_Instruments_ActivityMonitor

7. Ces outils peuvent nous aider à comprendre l'utilisation de la mémoire et les endroits où les fuites peuvent se produire.