【问题标题】:my app get crash but nothing get shown other than the line that dataformatter is not available temporarily what should i do now?我的应用程序崩溃了,但除了 dataformatter 暂时不可用的行之外什么都没有显示我现在该怎么办?
【发布时间】:2011-06-24 15:23:17
【问题描述】:

我正在开发简单的游戏应用程序,只使用平移手势和 cgaffinetransform 旋转
应用程序在不可预知的时间崩溃,控制台显示以下行 我该如何克服这个问题?尽管我正在释放所有东西,但它也显示了内存警告的水平

节目接收信号:“0”。

数据格式化程序暂时不可用,将在“继续”后重试。 (加载共享库“/Developer/usr/lib/libXcodeDebuggerSupport.dylib”时出现未知错误)

提前致谢

【问题讨论】:

    标签: iphone memory-management iphone-sdk-3.0 memory-leaks crash


    【解决方案1】:

    GDB 和 valgrind 是您的最佳选择。

    【讨论】:

    • 谢谢你的回复,你能解释一下我没听懂吗
    • 你能建议我应该注意的区域吗?
    【解决方案2】:

    每次我遇到这种情况都与记忆有关。基本上,在轮换期间的某个时刻,内存会出现峰值,应用程序正在崩溃。在我正在开发的具有大型 UIScrollView 的应用程序上,我遇到了类似的问题。我试图滚动和放大一个太大的视图。

    您的游戏视图是否很大?像 iphone/ipad 屏幕大小的许多倍?如果是这样,您将需要使其更小或以某种方式分段加载。

    在没有看到您的代码或不了解有关问题的更多信息的情况下,我很难就如何修复它给您提供好的建议,但是 Program received signal: “0” 绝对是内存错误,因此您可以从那里开始查找.在我的情况下,我发现在重绘视图层(使用 setNeedsDisplay)期间,在 Apple 方法的某处绘图期间,内存峰值与视图大小成正比。我认为在您的情况下可能会出现类似的内存峰值。此外,当它发生在我身上时,我正在使用 Instruments 来尝试跟踪内存使用情况,但峰值从未出现在那里,它会在报告内存使用情况之前崩溃。

    希望这会有所帮助。

    【讨论】:

    • 我是否应该从仪器中移除所有分配尖峰,以便所有分配尖峰都导致应用程序崩溃?
    • 我无法看到 Instruments 的峰值。这就是我所警告的。我在网上阅读了很多帖子,并且能够确定我使用了太大的视图并且内存在飙升。我降低了视图的大小,瞧,不再崩溃。如果您尝试滚动浏览一个大级别或其他内容,我认为您将不得不分段加载它,或者切换到使用 opengl 或类似的东西。就像我说的,在不了解您的应用的情况下,我很难给出具体的建议。
    【解决方案3】:

    伙计们, 借助这种方法,我已经克服了我的问题

    -(void)didReceiveMemoryWarning
    {
      [super DidreceiveMemoryWarning]
    //I Have release All The object Here and It Work For me 
    }
    

    它工作得很好,没有崩溃问题仍然存在......

    【讨论】:

    • 是的,我认为这是内存问题。很高兴看到您找到了修复崩溃的方法。是的,你总是必须在每个视图控制器中捕捉到这样的内存警告。
    猜你喜欢
    • 2021-04-10
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多