【发布时间】:2020-05-23 10:44:16
【问题描述】:
当我启动应用程序时,它会检查用户当前是否已登录。如果没有,则将根视图控制器设置为他们可以注册或登录的登录页面。如果他们已登录然后它将根视图控制器设置为包含三个视图控制器的选项卡栏控制器的实例。
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 来观察是否存在内存泄漏,但它只显示绿色刻度并表示没有内存泄漏。我已经清理了我的构建文件夹,并从我的手机中删除了构建,但问题仍然存在。
【问题讨论】:
-
它看起来像你项目中的某个无限循环。如果这仅在您登录时发生,那么我将在项目的“登录”部分中搜索这个无限循环 - 从 TabBarController 到每个 VC 您的 TabBar 包含的内容。
-
@Virender 我看不到我的视图控制器布局,它只显示一个空白的白屏
-
@LukášMareda 因此,当我从 HomeViewController 的标签栏中删除第一个视图控制器时,它似乎一切正常。白屏不再显示,我可以与应用程序交互,内存使用量不再增加。我应该寻找什么导致这个无限循环?
-
“HomeViewController”看起来有问题。我可以帮助你,前提是我看到里面有什么。
-
在此处发布您的
HomeViewController代码。问题出在某个地方。你有for-loop吗?
标签: ios swift instruments