gpt4 book ai didi

iOS Swift - 调试内存泄漏

转载 作者:行者123 更新时间:2023-11-30 12:13:44 25 4
gpt4 key购买 nike

我正在开发一个应用程序,它有严重的内存泄漏。到目前为止,我观察到的是,我使用该应用程序的次数越多,它消耗的内存就越多。我最初认为这可能是其导航的处理方式。我们有一个用 Objective C 编写的滑动菜单框架。在它的 Swift 文件( header 已处理)中,我添加了以下代码:

if let app = UIApplication.shared.delegate as? AppDelegate, let window = app.window {
if let viewControllers = window.rootViewController?.childViewControllers {
for viewController in viewControllers {
print("😀" + viewController.debugDescription)
}
}}

打印函数表明所有 View Controller 实际上都被解雇了,但内存使用量并没有适当下降。现在我开始使用“调试内存图”。这是我得到的一个例子: enter image description here正如您所看到的,我找不到任何与这些内存泄漏相关的提示。我无法从图表中看出任何信息。

越来越多地使用该应用程序给我带来了与以下内容相关的内存泄漏:CoreFoundation、libswiftCore.dylib 和 Foundation。

我只是迷失了方向,我不知道如何继续调试这些泄漏,因为没有其他信息可以帮助我查明导致泄漏的原因/swift 文件。

PS:我不是这个项目的唯一开发者。我几乎是在前一位开发人员之后进行工作的,而且我到处都看到了糟糕的编码实践。重写不是一个可行的选择。

最佳答案

过去我使用 Instruments 来调试内存泄漏。我阅读了苹果文档来了解如何使用 Instruments,它非常有帮助 - 特别是第一部分:查找内存泄漏。我发现了使用调试内存图无法找出的泄漏。

Instruments User Guide: Finding Memory Leaks

关于iOS Swift - 调试内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45692638/

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