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.