Sobes.tech
Junior — Middle

Bir nesne tarafından kullanılan belleğin serbest bırakılması ne zaman gerçekleşir?

sobes.tech yapay zeka

AI'dan gelen yanıt

iOS'ta, bir nesnenin belleği serbest bırakılması, o nesnenin referans sayacı (retain count) sıfıra ulaştığında gerçekleşir. Bu, nesneye artık kimsenin referans vermediği anlamına gelir ve sistem, kullandığı belleği serbest bırakabilir.

Güncel uygulamalarda, ARC (Otomatik Referans Sayımı) kullanılır; bu, nesneye atama ve referans silme işlemleri sırasında referans sayacını otomatik olarak artırıp azaltır.

Örnek:

class MyClass {}

var obj: MyClass? = MyClass() // referans sayısı = 1
obj = nil // referans sayısı = 0, nesne serbest bırakılır

Böylece, bellek serbest bırakma, nesnenin son sahibi onun referansını bıraktıktan hemen sonra gerçekleşir.