Sobes.tech
Junior — Middle

Kako operativni sistem određuje kada objekat u memoriji više nije u upotrebi i kada ga je sigurno osloboditi?

sobes.tech АИ

Одговор од АИ

Operativni sistem sam po sebi ne upravlja direktno oslobađanjem objekata u memoriji — to je zadatak okruženja za izvršavanje i jezika za programiranje. Na primer, na iOS-u, upravljanje memorijom se vrši pomoću mehanizma ARC (Automatsko brojanje referenci).

ARC prati broj referenci na objekat. Kada broj referenci na objekat dostigne nulu (tj. više niko ne referiše na taj objekat), objekat se automatski oslobađa iz memorije.

Primer:

class MyClass {}
var obj: MyClass? = MyClass() // broj referenci = 1
obj = nil // broj referenci = 0, objekat se oslobađa

Na ovaj način, operativni sistem ne određuje kada objekat više nije u upotrebi — to radi okruženje za izvršavanje pomoću brojanja referenci ili sakupljača smeća.