Junior — Middle
Pode explicar o princípio de funcionamento da gestão automática de memória ARC em Objective-C?
sobes.tech IA
Resposta da IA
O ARC (Contagem Automática de Referências) é um mecanismo de gestão de memória em Objective-C que rastreia automaticamente o número de referências aos objetos e liberta a memória quando o objeto deixa de ser utilizado.
O princípio de funcionamento do ARC baseia-se na contagem de referências (contagem de retenção):
- Quando um objeto é criado, a sua contagem de referências é 1.
- Quando o objeto é atribuído a uma nova variável, a contagem aumenta (retain).
- Quando a variável sai do escopo ou é atribuída a nil, a contagem diminui (release).
- Quando a contagem chega a 0, o objeto é automaticamente removido da memória.
Exemplo:
NSObject *obj = [[NSObject alloc] init]; // contagem de retenção = 1
self.property = obj; // a contagem aumenta
obj = nil; // a contagem diminui
// Quando todas as referências ao objeto desaparecem, a memória é libertada automaticamente
O programador não precisa chamar explicitamente retain/release, o ARC insere essas chamadas na fase de compilação, o que reduz a probabilidade de erros de gestão de memória, como fugas ou libertações duplas.