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.