Sobes.tech
Junior — Middle

Mikor történik a memória felszabadítása, amelyet egy objektum foglal el a kezelhető programozási nyelvekben?

sobes.tech MI

Válasz az MI-től

A kezelhető programozási nyelvekben, mint például a Swift vagy az Objective-C iOS-re, a memória felszabadítása automatikusan történik egy memóriakezelő mechanizmus, például ARC (Automatikus Referencia Számlálás) segítségével.

A tárgy akkor kerül felszabadításra, amikor már nincs rá erős hivatkozás (strong reference). Amint a hivatkozásszámláló eléri a nullát, a tárgy által foglalt memória felszabadul.

Swift példával:

class MyClass {}

var obj: MyClass? = MyClass() // hivatkozásszám = 1
obj = nil // hivatkozásszám = 0, a tárgy felszabadul

Így a memória felszabadítása akkor történik, amikor a tárgy már nem érhető el a kódból, és nincs rá erős hivatkozás.