我的应用程序在我重复执行一系列操作后几次崩溃,通常是在触发一个内存级别后发生,并且总是在加载其中一个视图时发生。此问题无法在模拟器中重现。
每次执行时都会发生轻微的内存泄漏,但内存使用率非常低(如分配和泄漏中所示)。我已经删除了代码,但问题仍然存在。
问题是调试问题,因为控制台中没有消息,也没有崩溃日志。
有什么建议吗?
答案 0 :(得分:1)
此处讨论了搜索内存泄漏问题 - Memory leak detection tools in Xcode。
内存泄漏很难找到,因为它们可能会导致不可预测的影响。使用xcode中的Leak工具并完成代码。可能值得查看有关内存管理的编程指南,因为您可能会在不应该(或反过来)时发布某些内容。问题可能不一定是您的想法。
我认为这会让你仔细检查你的代码并检查所有内容,即使你觉得某些东西按照应有的方式运行,只需检查一下 - 你可能会惊讶地发现它不是。
答案 1 :(得分:1)
OpenGL可能导致模糊的崩溃。
我的OpenGL代码中有一个保留周期。
这发生在我的自定义UIView中,我有一个GLKView
子视图。这个子视图永远不会被释放,导致崩溃。解决方案是使用weak
而不是strong
。
@property (strong, nonatomic) GLKView* glkView; // Crash, no crash report, no errors
@property (weak, nonatomic) GLKView* glkView; // this works
日志中没有错误。没有崩溃报告。我有异常启用中断,但没有抛出异常。我已经在任何地方插入了NSLog,但它没有透露任何有用的东西。我启用了僵尸,但没有注意到任何异常。