我有2个选项卡,一个包含imagepicker控制器,另一个包含UItableView作为uiview控制器的子视图。
我意识到当我调用imagepicker控制器(SourceTypeCamera)时,正在卸载另一个选项卡中的页面('view didUnload'方法)被触发。
这是我应该期待的正常行为吗? (其他标签的视图被卸载)或者是因为使用相机时会出现内存问题,我应该注意这个问题吗?
答案 0 :(得分:1)
如您所说,viewDidUnload
可以随时触发,并且通常与低内存警告相关联,视图控制器的视图即使在内存允许的情况下不需要时也会被缓存。所以从严格意义上讲,它既不是预期也不是意外,因为它取决于系统其余部分的总和状态。
话虽这么说,UIImagePickerController
在捕获图像时非常渴望记忆(参见例如this image,其中每个尖峰与UIImagePickerController的实例“捕获图像”相关{{3}因此,从内存中强制使用的其他视图不应该如此令人惊讶。
没有文件记录的机制,也没有理由让UIImagePicker
强制其他控制器推测性地转储他们的观点。