Junior — Middle
Pouvez-vous expliquer le mécanisme de gestion automatique de la mémoire dans ARC et comment il libère les objets inutilisés?
sobes.tech IA
Réponse de l'IA
ARC ( comptage automatique de références ) est un mécanisme de gestion de mémoire dans iOS qui suit automatiquement le nombre de références aux objets et les libère lorsqu'ils ne sont plus nécessaires.
Principe de fonctionnement :
- Chaque objet a un compteur de références (compte de retention).
- Lorsqu'une référence à un objet est créée, le compteur augmente.
- Lorsqu'une référence est supprimée, le compteur diminue.
- Lorsque le compteur atteint zéro, l'objet est automatiquement supprimé de la mémoire.
ARC fonctionne lors de la compilation, en insérant des appels à retain/release dans le code, donc le programmeur n'a pas besoin de gérer manuellement la mémoire.
Exemple en Swift :
class Person {
var name: String
init(name: String) {
self.name = name
}
}
var person1: Person? = Person(name: "Иван") // compteur de retention = 1
var person2 = person1 // compteur de retention = 2
person1 = nil // compteur de retention = 1
person2 = nil // compteur de retention = 0, l'objet Person est supprimé
Ainsi, ARC libère automatiquement les objets lorsqu'il n'y a plus de références actives.