Sobes.tech
Junior — Middle

რის შემთხვევებში და როდის ხდება სისტემაში ავტომატური მეხსიერების გათავისუფლება?

sobes.tech AI

პასუხი AI-სგან

iOS-ში ავტომატური მეხსიერების გათავისუფლება ხდება ARC (ავტომატური მითითებების გამოთვლა) მექანიზმის საშუალებით. ARC ავტომატურად აკონტროლებს ობიექტზე მითითებების რაოდენობას და გათავისუფლებს მეხსიერებას, როდესაც ობიექტზე აღარ არის ძლიერი მითითებები.

როდის ხდება მეხსიერების გათავისუფლება:

  • როდესაც ობიექტის მითითებების რაოდენობა იწევს ნულზე, ობიექტი განადგურდება და მეხსიერება გათავისუფლდება.
  • ეს ხდება ავტომატურად, როდესაც გამოვდივართ ცვლადის მოქმედების სფეროდან ან ვაწესებთ nil-ს მითითებაზე.

საჭიროა თავიდან აიცილოთ ციკლური მითითებები (retain cycles), წინააღმდეგ შემთხვევაში ობიექტები არ გათავისუფლდება, რაც მეხსიერების ნაკადს გამოიწვევს.