Objective-C-də layihənin yığılması zamanı ARC yaddaşı necə idarə edir?
sobes.tech Süni İntellekt
AI-dan cavab
Objective-C-də ARC (Avtomatik İstinad Sayımı) proqramın tərtibi və icrası zamanı işləyən avtomatik yaddaş idarəetmə mexanizmidir.
Layihənin yığılması zamanı tərtibçi kodu analiz edir və obyektlərin həyat dövrünü idarə etmək üçün lazım olan yerlərə avtomatik olaraq retain, release və autorelease metod çağırışlarını əlavə edir. Bu, inkişaf etdiriciyə yaddaş idarəsini əl ilə yazmaq ehtiyacını aradan qaldırır və yaddaş sızıntıları və səhvlərin qarşısını alır.
ARC-nin əsas işləmə prinsipləri:
- Hər obyektin bir istinad sayğacı var.
- Obyekt yaradıldıqda və ya təyin olunduqda, sayğac artır (
retain). - Obyektə olan istinad istifadə edilmirsa, sayğac azaldılır (
release). - Sayğac sıfıra çatanda, obyekt avtomatik olaraq sərbəst buraxılır.
ARC klassik mənada çöp toplayıcı deyil: sərbəst buraxma dərhal baş verir, istinad sayğacı sıfıra çatdıqda, çöp toplanması üçün fasiləsiz.
Nümunə:
// ARC avtomatik olaraq retain/release əlavə edəcək
MyObject *obj = [[MyObject alloc] init];
// ... obyektin istifadəsi
// sahədən çıxanda, obyekt avtomatik olaraq sərbəst buraxılır
Bu şəkildə, ARC yaddaş idarəsini asanlaşdırır, kodu daha təhlükəsiz və təmiz edir.