Sobes.tech
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.