Sobes.tech
Junior — Middle

O iOS usa limpeza automática de memória para gerir recursos?

sobes.tech IA

Resposta da IA

O iOS não utiliza a limpeza automática de memória no sentido clássico, como o coletor de lixo em JavaScript ou Java. Em vez disso, o iOS usa um sistema de gestão de memória chamado ARC (Contagem Automática de Referências).

O ARC rastreia automaticamente o número de referências aos objetos e libera a memória quando o objeto não é mais utilizado. O desenvolvedor não escreve código para liberar a memória manualmente, mas deve monitorar a gestão correta das referências para evitar dependências cíclicas, que podem levar a vazamentos de memória.

Exemplo de uso do ARC:

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}

var person1: Person? = Person(name: "Иван")
var person2 = person1  // aumenta o contador de referências
person1 = nil         // diminui o contador, o objeto ainda vive
person2 = nil         // o contador chega a 0, o objeto é liberado

Assim, o iOS gerencia a memória automaticamente, mas com base na contagem de referências, e não na coleta de lixo.