Sobes.tech
Junior — Middle

Quando ocorre a libertação de memória ocupada por um objeto, em linguagens de programação geridas?

sobes.tech IA

Resposta da IA

Em linguagens de programação geridas, como Swift ou Objective-C para iOS, a libertação de memória ocorre automaticamente através de um mecanismo de gestão de memória, por exemplo, ARC (Contagem Automática de Referências).

O objeto é libertado quando não há mais referências fortes (strong references) a ele. Assim que o contador de referências do objeto chega a zero, a memória ocupada pelo objeto é libertada.

Exemplo em Swift:

class MyClass {}

var obj: MyClass? = MyClass() // contador de referências = 1
obj = nil // contador de referências = 0, objeto libertado

Dessa forma, a libertação de memória ocorre no momento em que o objeto deixa de estar acessível no código e não há mais referências fortes a ele.