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