didReceiveMemoryWarning и viewDidUnload

Из Руководства по программированию контроллера представления Apple / Эффективное управление памятью;

didReceiveMemoryWarning

Используйте этот метод для освобождения всех некритических пользовательских структур данных, связанных с ваш контроллер представления. Хотя вы не стали бы использовать этот метод для освобождения ссылок на объекты просмотра, вы можете использовать его для освобождения любых структур данных, связанных с представлением, которые вы еще не выпустили в своем методе viewDidUnload. (Сами объекты представления всегда должны быть освобождены в методе viewDidUnload. )

viewDidUnload

Вы можете использовать метод viewDidUnload, чтобы освободить любые данные, относящиеся к представлению и которые можно легко воссоздать, если представление снова загружается в память. Однако, если воссоздание данных может занять слишком много времени, вам не нужно освобождать соответствующие объекты данных здесь. Вместо этого вам следует рассмотреть возможность выпуска этих объектов в вашем методе didReceiveMemoryWarning.

http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/BasicViewControllers/BasicViewControllers.html

  1. Для didReceiveMemoryWarning рекомендуется использовать освободить некритические структуры данных. Итак, что критично, а что некритично?

  2. Также говорится о выпуске того, что мы еще не выпустили в viewDidUnload. Но когда появляется предупреждение о памяти, вызывается didReceiveMemoryWarning и представление может быть выгружено, тогда вызывается viewDidUnload. Итак, речь идет о переносе этих кодов в метод предыдущего события (didReceiveMemoryWarning) или мне что-то не хватает порядка событий?

  3. Для viewDidUnload нам рекомендуется позаботиться о легком воссоздании данные при перезагрузке представления. Итак, если представление используется и не может быть выгружено, почему мы будем выпускать трудоемкие данные в didReceiveMemoryWarning? После выпуска этих данных, когда пользователь пытается что-то сделать в текущем представлении, их загрузка также займет много времени.

11
задан lockedscope 4 December 2010 в 15:44
поделиться