Из Руководства по программированию Apple View View/Управление памятью эффективно;didReceiveMemoryWarning and viewDidUnload
didReceiveMemoryWarning
Используйте этот метод, чтобы освободить все несущественные пользовательские структуры данных, связанные с контроллером вида. Хотя вы не использовали бы этот метод для выпуска ссылок на объекты просмотра, вы можете использовать его для публикации любых структур данных, связанных с представлением, которые вы еще не выпустили в вашем методе viewDidUnload. (Вид сами объекты всегда должно быть освобождены в методе viewDidUnload.)
viewDidUnload
Вы можете использовать метод viewDidUnload для освобождения каких-либо данных, которые специфичные и которые могут быть воссозданы достаточно легко, если представление снова загружается в память. Если воссоздание данных может быть слишком трудоемким, вам не нужно выделять соответствующие объекты данных здесь. Вместо этого вам следует рассмотреть возможность выпуска этих объектов в методе didReceiveMemoryWarning.
Для didReceiveMemoryWarning, мы рекомендуем освободить непринципиальные структуры данных. Итак, что критично, а что некритично?
Кроме того, в нем говорится о выпуске того, что мы еще не выпустили в viewDidUnload. Но когда появляется предупреждение о сохранении памяти, вызываемая reReceiveMemoryWarning и просмотр может быть выгружен, тогда вызывается viewDidUnload. Итак, речь идет о перемещении этих кодов в метод прежнего события (didReceiveMemoryWarning) или я что-то пропустил о порядке событий?
Для просмотраDidUnload рекомендуется позаботиться о легко, воссоздавая данные при перезагрузке. Итак, если представление используется и не может быть выгружено, почему мы будем отнимать трудоемкие данные в didReceiveMemoryWarning? После того, как эти данные будут выпущены, когда пользователь попытается что-то сделать в текущем представлении, потребуется также много времени для их загрузки.
как вы указываете, что они называют это копией, но ее не вызывают без предупреждения о памяти. – lockedscope 2010-12-04 16:17:59