gpt4 book ai didi

ios - Swift iOS 内存使用量在运行时增加

转载 作者:行者123 更新时间:2023-12-01 16:01:24 27 4
gpt4 key购买 nike

当我启动应用程序时,它会检查用户当前是否已登录。如果他们没有登录,则将 Root View Controller 设置为他们可以注册或登录的登录页面。如果他们已登录然后它将 Root View Controller 设置为包含三个 View Controller 的选项卡栏 Controller 的实例。

guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(frame: UIScreen.main.bounds)
if let user = Auth.auth().currentUser {
window?.rootViewController = TabBarController()
window?.makeKeyAndVisible()
window?.windowScene = windowScene
print("\(user.email ?? "user") is already logged in")
} else {
let landingPageVC = LandingPageViewController()
window?.rootViewController = landingPageVC
window?.makeKeyAndVisible()
window?.windowScene = windowScene
}

出于某种原因,当我启动应用程序时(在本例中我已登录),该应用程序显示空白屏幕,我可以在调试导航器中看到该应用程序似乎陷入了内存分配循环。几分钟后,应用程序崩溃并在控制台中打印

来自调试器的消息:由于内存问题而终止

我用Instruments观察过是否有内存泄漏,但它只是显示绿色勾号,表示没有内存泄漏。我已经清理了我的构建文件夹并从我的手机中删除了构建,但问题仍然存在。

enter image description here

最佳答案

配置文件内存分配

我制作了一个测试 iOS 应用程序来展示您如何分析内存分配。创建新的 iOS 项目后,我将以下内容添加到 AppDelegate:

var test: [String] = []

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.

while true {
test.append("blasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdfblasdgpjsogfisogfihsofighäkneäijifdf")
}
return true
}

这应该模拟您的问题。然后我们长按构建按钮并选择配置文件。

enter image description here

我们选择分配作为分析模板。

enter image description here

我们按下录制按钮。

enter image description here

我们再次选择分配。

enter image description here

我们选择调用树。

enter image description here

而且我们可能已经在右侧找到了有问题的堆栈跟踪。

enter image description here

或者你自己扫描调用树。

enter image description here

这应该为您提供进一步调试以找到无限循环的起点:)

关于ios - Swift iOS 内存使用量在运行时增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60111029/

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