调用ImagePickerController(SourceTypeCamera)会卸载tabbar控制器中的其他页面(其他选项卡)

时间:2011-07-19 05:40:16

标签: ios objective-c view uiimagepickercontroller

我有2个选项卡,一个包含imagepicker控制器,另一个包含UItableView作为uiview控制器的子视图。

我意识到当我调用imagepicker控制器(SourceTypeCamera)时,正在卸载另一个选项卡中的页面('view didUnload'方法)被触发。

这是我应该期待的正常行为吗? (其他标签的视图被卸载)或者是因为使用相机时会出现内存问题,我应该注意这个问题吗?

1 个答案:

答案 0 :(得分:1)

如您所说,viewDidUnload可以随时触发,并且通常与低内存警告相关联,视图控制器的视图即使在内存允许的情况下不需要时也会被缓存。所以从严格意义上讲,它既不是预期也不是意外,因为它取决于系统其余部分的总和状态。

话虽这么说,UIImagePickerController在捕获图像时非常渴望记忆(参见例如this image,其中每个尖峰与UIImagePickerController的实例“捕获图像”相关{{3}因此,从内存中强制使用的其他视图不应该如此令人惊讶。

没有文件记录的机制,也没有理由让UIImagePicker强制其他控制器推测性地转储他们的观点。