内存泄漏仅出现在iPhone上

内存泄漏仅出现在iPhone上,iphone,ios,xcode,memory-leaks,Iphone,Ios,Xcode,Memory Leaks,我有一个标签栏应用程序,有4个标签,代码中没有什么特别的东西 所有模拟器测试都很好,应用程序没有崩溃,一切正常,Xcode中没有显示警告或错误(我使用的是Xcode 4.2,应用程序使用故事板) 运行“分析”时,代码中没有泄漏、错误或潜在泄漏 运行“泄漏”时,不会列出任何泄漏,我可以加载、重新加载、在选项卡之间交换等,一切都很好 不过,当我在iPhone上运行这个程序时,会出现很多漏洞 其中一些代码似乎都已发布,看起来很好,并且在Xcode中所有验证都很好 为什么在手机上运行与在模拟器上运行不同

我有一个标签栏应用程序,有4个标签,代码中没有什么特别的东西

所有模拟器测试都很好,应用程序没有崩溃,一切正常,Xcode中没有显示警告或错误(我使用的是Xcode 4.2,应用程序使用故事板)

运行“分析”时,代码中没有泄漏、错误或潜在泄漏

运行“泄漏”时,不会列出任何泄漏,我可以加载、重新加载、在选项卡之间交换等,一切都很好

不过,当我在iPhone上运行这个程序时,会出现很多漏洞

其中一些代码似乎都已发布,看起来很好,并且在Xcode中所有验证都很好


为什么在手机上运行与在模拟器上运行不同?我如何查找和调试在模拟器上运行泄漏时未显示的泄漏?

首先,通过将检查范围(使用左右范围按钮)限制在发生泄漏的区域,您可以检查较小的区域。然后,从左侧的调用树中选择一些有用的检查,如仅显示Obj-C、隐藏缺少的符号等。。然后你会从仪器中得到更多有用的信息。之后,单击与泄漏相关的一行,打开扩展视图并开始检查调用堆栈。此外,据我所知,双击泄漏行可以将您带到分配泄漏对象的源代码。这里要小心,因为它不会显示泄漏发生的位置,而是显示泄漏对象的分配位置。所以,你应该关注这些物体发生了什么

关于模拟器和设备之间的区别,你可以检查这个问题


希望这些帮助

你能提供的信息越多越好。你的项目使用ARC吗?请粘贴检测到的泄漏信息或屏幕截图。不确定如何附加屏幕截图,因此已上传至此处: