Sobes.tech
Junior — Middle

Obyekt tərəfindən istifadə olunan yaddaşın azad olunması nə vaxt baş verir?

sobes.tech Süni İntellekt

AI-dan cavab

iOS-da, obyektin yaddaşdan azad olunması, onun istinad sayğacı (retain count) sıfıra çatanda baş verir. Bu, obyektə artıq heç kim istinad etmədiyi və sistemin onun tutduğu yaddaşı azad edə biləcəyi anlamına gəlir.

Müasir tətbiqlərdə, ARC (Avtomatik İstinad Sayımı) istifadə olunur, bu, obyektə təyin və silinən istinadlar zamanı avtomatik olaraq istinad sayğacını artırır və azaldır.

Nümunə:

class MyClass {}

var obj: MyClass? = MyClass() // istinad sayğacı = 1
obj = nil // istinad sayğacı = 0, obyekt azad edilir

Beləliklə, yaddaşın azad olunması, obyektin son sahibi onun istinadını dayandırdıqdan dərhal sonra baş verir.