Sobes.tech
Junior — Middle

Millal toimub objekti poolt hõivatud mälu vabastamine?

sobes.tech AI

Vastus AI-lt

iOS-is toimub objekti mälu vabastamine sel hetkel, kui selle objekti (retain count) viidete arv jõuab nullini. See tähendab, et keegi enam objekti ei viita ning süsteem võib vabastada selle kasutatud mälu.

Tänapäevastes rakendustes kasutatakse ARC-d (Automatic Reference Counting), mis automaatselt suurendab ja vähendab viidete arvu objekti määramisel ja eemaldamisel.

Näide:

class MyClass {}

var obj: MyClass? = MyClass() // viidete arv = 1
obj = nil // viidete arv = 0, objekt vabastatakse

Seega toimub mälu vabastamine kohe pärast seda, kui objekti viimane omanik lõpetab sellele viitamise.