Вызов ImagePickerController (SourceTypeCamera) выгружает другие страницы (другие вкладки) в контроллере вкладок - PullRequest
1 голос
/ 19 июля 2011

У меня есть 2 вкладки, одна из которых содержит контроллер средства выбора изображений, а другая содержит UItableView в качестве подпредставления для контроллера uiview.

Я понимаю, что когда я вызываю контроллер средства выбора изображений (SourceTypeCamera), моя страница на другой вкладке выгружается (метод 'view didUnload') запускается.

Это нормальное поведение, которое я должен ожидать? (виды других вкладок выгружаются) Или это связано с проблемой памяти при использовании камеры, о которой я должен позаботиться?

1 Ответ

1 голос
/ 19 июля 2011

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

При этом UIImagePickerController, как известно, очень жадно памяти при захвате изображения (см.например, это изображение , где каждый всплеск связан с экземпляром UIImagePickerController "захват изображения" для связанного блога ), поэтому другие представления, вытесненные из памяти, не должны вызывать удивления.

Нет документированного механизма и нет причины для UIImagePicker, чтобы заставить другие контроллеры спекулятивно сбрасывать свои представления.

...