【发布时间】:2016-08-23 20:32:41
【问题描述】:
我正在使用 SpriteKit 和 GameCentre 在 XCode7.3 中制作 Swift 2.2 应用程序。
我的问题是应用程序使用的内存继续增长(大约每秒额外占用约 20MB)。最终这会导致应用程序由于内存问题而崩溃。我在设备 (iPhone 6s) 和模拟器上运行时得到了类似的结果。
我已经尝试通过 Instruments 运行它(下面的屏幕截图),这似乎表明了问题。
从深入分析仪器的输出来看,它似乎表明在 460 KiB 的 malloc 调用中发生了内存泄漏。我还没有设法从堆栈跟踪中分离出导致这种情况的原因。
仪器输出可用 - 不确定如何在此处附加。关于从哪里开始的任何建议/指示?
【问题讨论】:
-
对于这种大小的错误,很有可能你在根本上做错了什么。您在代码中使用
malloc吗?您是否在需要的地方使用了弱引用? -
代码都是 swift2 - 所以没有使用直接的 malloc 调用。如果我正确读取仪器输出,则实际泄漏发生在重复的 malloc 调用中。