2013-03-13 3 views
1

Я не знаю слишком много информации о didReceiveMemoryWarning, но, учитывая то, что я читал на других сообщениях и искал в документации, я видел, что в случае iOS 5 любые невидимые контроллер просмотра будет выгружать свой вид, но в случае iOS 6 документация (говорит, что реализация по умолчанию «выходит», и я точно не знаю, как я должен это понимать.Как это работает didReceiveMemoryWarning для iOS 6

Я делал некоторые тесты с iOS Simulator, имитирующий предупреждение с низкой памятью, и я ценю (на iOS 5), что в случае, если я нахожусь во втором представлении в стеке, и я имитирую предупреждение с низкой памятью, ничего не происходит с настоящим представлением, но если я вернусь к предыдущему представлению было выпущено, и viewDidLoad вызывается снова, как я ожидал, однако в cas e iOS 6 ни один из предыдущих просмотров не был выпущен, что я имею в виду с этим, и это мой вопрос: каковы последствия didReceiveMemoryWarning на iOS 6, если представления не выпущены, я должен беспокоиться о чем-либо еще, не считая? Даже если представления не выпущены, такие вещи, как переменные класса (например, NSMutableArray), могут быть освобождены?

+0

Я думаю, что «выходы» в этом случае означают, что функция «возвращает» вызывающему, это не означает, что они вызывают [exit()] (http://www.cplusplus.com/reference/cstdlib /Выход/). – progrmr

ответ

1

У вас будет больше возможностей управления, так как views are no longer purged under low-memory conditions and so this method [viewDidUnload] is never called (Deprecated UIViewController Methods).

Если вид является чем-то дорогостоящим, но не таким голодным для памяти, вы, вероятно, не выпустите его. Насколько я знаю, iOs ничего не выпустит в случае предупреждения о памяти, решение полностью зависит от вас, используйте didReceiveMemoryWarning или другие методы уведомления (см. Раздел Observe Low-Memory Warnings).

WWDC 2012 Сессия 236: Эволюция контроллеров View на iOS может быть вам интересна.

+0

Этот ответ начался отлично, но потом он. – 1dayitwillmake

+0

@ 1dayitwillmake в чем проблема с ответом? –

+0

... так сделал первый комментарий. –

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