2015-10-29 4 views
0

Я импортировал iPod Библиотека в mediaQuery переменная.Как быстро управлять памятью?

var mediaQuery = MPMediaQuery! 

после выполнения запроса, который загружает библиотеку.

override func didReceiveMemoryWarning() { 
super.didReceiveMemoryWaring() 
mediaQuery = nil } 

mediaQuery к нолю делает его использовать меньше памяти?

ответ

0

У Swift есть свой сборщик мусора. Установка переменной в nil освободит память. Этот код не работает в Swift 2, потому что вы указываете, что объект должен существовать с помощью ! после типа. Код должен быть следующим:

+0

Но это не дало мне никаких ошибок или предупреждений. Я использовал MPMediaQuery! и я назначил его на ноль, это не дало мне никаких ошибок. – Krishna

+0

Swift НЕ ИСПОЛЬЗУЙТЕ любой сборщик мусора !!! – user3441734

+1

Автоматический подсчет ссылок или ARC - это форма сбора мусора, в которой объекты освобождаются, когда нет ссылок на них. Каждый объект под ARC содержит счетчик ссылок, который хранится как дополнительное поле в памяти, которое увеличивается каждый раз, когда вы устанавливаете переменную для этого объекта, и уменьшается каждый раз, когда вы устанавливаете ссылку на объект на nil/null или ссылка выходит за пределы области действия, как только контрольный счетчик опускается до нуля, объект заботится об удалении себя, вызывая деструктор и освобождая выделенную память. – Letus

Смежные вопросы