iOS-da avtomatik və əl ilə yaddaş işləməsi necə həyata keçirilir və resursların idarə olunması üçün hansı mexanizmlər istifadə olunur?
sobes.tech Süni İntellekt
AI-dan cavab
iOS-da yaddaş idarəsi əsasən iki əsas üsul ilə həyata keçirilir: avtomatik və əl ilə.
-
Avtomatik yaddaş idarəsi (ARC — Avtomatik Referans Sayımı)
ARC, Objective-C və Swift obyektləri üçün retain/release çağrılarını avtomatik əlavə edən kompilyatorə daxil edilmiş mexanizmdir. O, obyektə olan istinadların sayını hesablayır və sayıcı sıfıra çatanda yaddaşı azad edir.
Nümunə:
class Person { var name: String init(name: String) { self.name = name } } var p1: Person? = Person(name: "Иван") var p2 = p1 // istinadların sayı artır p1 = nil // say azaldılır p2 = nil // obyekt azad edilir -
Əl ilə yaddaş idarəsi
Köhnə iOS versiyalarında (ARC-dən əvvəl), proqramçı obyektlərin həyat dövrünü idarə etmək üçün
retain,releasevəautoreleasemetodlarını əl ilə çağırırdı. -
Resursların idarə olunması
Yaddaşdan başqa, resursların (fayllar, şəbəkə əlaqələri, timerlər) idarə olunması üçün
deinitkimi Swift-də nümunələr istifadə olunur və obyekt məhv edilərkən resurslar azad edilir.Həmçinin, müvəqqəti obyektləri idarə etmək üçün
autoreleasepoolkimi quruluşlar geniş istifadə olunur.
Beləliklə, ARC yaddaşla işləməyi əhəmiyyətli dərəcədə sadələşdirir, sızma ehtimalını azaldır və əl ilə idarəetmə nadir hallarda və yalnız xüsusi hallarda istifadə olunur.