Junior — Middle
რა ტიპებისაა მეხსიერების გაჟონვა და როგორ გამოვავლინოთ ისინი?
sobes.tech AI
პასუხი AI-სგან
iOS-də bir neçə yaddaş sızması növü mövcuddur:
- Döngüvi istinadlar (saqlama döngüləri): iki obyekt bir-birini güclü istinadlar vasitəsilə saxlayırsa, bu onların azad edilməsinə mane olur.
- Delegatların düzgün istifadə edilməməsi nəticəsində sızmalar: əgər delegate güclü istinad kimi elan olunubsa, bu döngüyə səbəb ola bilər.
- Azad edilməmiş resurslar səbəbindən sızmalar: məsələn, zamanlayıcılar, bildiriş müşahidəçiləri, silinməyənlər.
Sızmaları aşkar etmək üçün Xcode alətlərindən istifadə olunur:
- Instruments (Leaks və Allocations) — azad edilməyən obyektləri izləməyə imkan verir.
- Memory Graph Debugger — obyektlər arasındakı əlaqələri vizuallaşdırır və döngələri tapmağa kömək edir.
Nümunə: əgər ViewController sinifində güclü istinad zamanlayıcıya varsa, hansı ki, dayanmayıb və sıfırlanmayıbsa, bu sızmaya səbəb ola bilər.