Junior — Middle
რის შემთხვევებში და როდის ხდება სისტემაში ავტომატური მეხსიერების გათავისუფლება?
sobes.tech AI
პასუხი AI-სგან
iOS-ში ავტომატური მეხსიერების გათავისუფლება ხდება ARC (ავტომატური მითითებების გამოთვლა) მექანიზმის საშუალებით. ARC ავტომატურად აკონტროლებს ობიექტზე მითითებების რაოდენობას და გათავისუფლებს მეხსიერებას, როდესაც ობიექტზე აღარ არის ძლიერი მითითებები.
როდის ხდება მეხსიერების გათავისუფლება:
- როდესაც ობიექტის მითითებების რაოდენობა იწევს ნულზე, ობიექტი განადგურდება და მეხსიერება გათავისუფლდება.
- ეს ხდება ავტომატურად, როდესაც გამოვდივართ ცვლადის მოქმედების სფეროდან ან ვაწესებთ nil-ს მითითებაზე.
საჭიროა თავიდან აიცილოთ ციკლური მითითებები (retain cycles), წინააღმდეგ შემთხვევაში ობიექტები არ გათავისუფლდება, რაც მეხსიერების ნაკადს გამოიწვევს.