gpt4 book ai didi

iphone - 在模态视图中收到内存警告 - 父 View Controller 的对象被释放。如何预防?

转载 作者:行者123 更新时间:2023-12-03 20:57:41 25 4
gpt4 key购买 nike

我的 Root View Controller 是一个带有多个注释的 map 。当选择注释并点击附件按钮时,我会显示一个如下所示的模态视图:/image/hACyH.png

在此模态视图中,您可以查看注释坐标的街景 View (我使用 UIWebview 执行此操作)。您还可以提交照片,或执行一些内存消耗相对较高的其他任务。每当我在显示模态视图时在控制台中收到“收到内存警告”消息时,父对象(即 MapKit 对象)似乎都会被释放,因为一旦我关闭模态视图, map 现在就以地球(位于非洲附近的南大西洋某处)和桌面 View 是空的。

我想保留这些对象,即使存在内存警告。造成这种情况的原因似乎是在 Root View Controller 中调用了 viewDidUnload ,在这个方法中,我将所有变量设置为 nil 。处理这种内存情况的正确方法是什么?

谢谢!

最佳答案

如果您确实收到 didReceiveMemoryWarning,则默认实现将卸载其 View (如果可以的话),然后调用 viewDidUnload。我不知道您如何设置 Controller ,但您可能必须存储当前坐标,然后当调用 viewDidLoad/Appear 时,您可以确保将 map 设置为您想要的位置。这是 View Controller 上的苹果文档 life cycle

关于iphone - 在模态视图中收到内存警告 - 父 View Controller 的对象被释放。如何预防?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3868222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com