gpt4 book ai didi

由于内存峰值导致截屏时 ios 应用程序崩溃

转载 作者:行者123 更新时间:2023-11-28 23:24:56 27 4
gpt4 key购买 nike

我有一个带有多个 View Controller 和导航 Controller 的应用程序。如果我在两个 View Controller 之间切换大约 10 次,然后从我的 iPhone 截取屏幕截图,应用程序会卡住,内存会飙升至 1 GB,然后崩溃。如果我在屏幕之间切换 4-5 次后截取屏幕截图,应用程序在截取屏幕截图时不会崩溃。我怀疑我的应用程序正在创建 View Controller 的多个实例,但我没有找到释放它们的方法。无论如何,如果您能给我任何提示,我将不胜感激。在我的示例中,我展示了两个 View Controller ,如下所示:

let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let nextViewController = storyBoard.instantiateViewController(withIdentifier: "comanda")
let first = storyBoard.instantiateInitialViewController()
self.present(nextViewController, animated:true, completion:nil)

let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let nextViewController = storyBoard.instantiateViewController(withIdentifier: "meniuControl4") as! SideMenuController
self.present(nextViewController, animated:true, completion:nil)

最佳答案

如果您从两个 View Controller 中的每一个中调用上述代码,那么您永远不会关闭任何一个,您只是将一个显示在另一个之上,这会增加内存。

我不知道你的应用程序的流程是什么,但如果你使用 present(_:animated:completion:) 呈现一个 View Controller ,那么你应该调用 dismiss(animated :completion:) 在某个阶段从该 View Controller 中向后导航。如果您从其中调用 present(_:animated:completion:) 以到达另一个 View Controller 并继续这样做,那么您只需像一副纸牌一样不断添加 View Controller .

关于由于内存峰值导致截屏时 ios 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58972184/

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