【问题标题】:How to handle the application with an alert when it crashed with out terminating the application in iphone sdk如何在应用程序崩溃时处理应用程序并在 iphone sdk 中终止应用程序时发出警报
【发布时间】:2011-09-23 00:18:27
【问题描述】:

我正在获取一个应用程序,因为我从照片库中选择了 696 kb 的图像,当时我收到了 1 级和 2 级警告,并且应用程序由于崩溃而终止。我得到的崩溃是

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

为此,我想在不终止应用程序的情况下处理此崩溃并通过警报显示它。

有什么建议吗??

谢谢大家, 莫尼什。

【问题讨论】:

    标签: objective-c exception-handling


    【解决方案1】:

    您的崩溃很可能是由于系统将您的应用程序杀死,因为它超出了其内存配额。您报告的有关数据格式化程序的消息来自调试器,并没有说太多。

    您应该做的是定义您的didReceiveMemoryWarning 方法,并在收到警告时尝试恢复尽可能多的内存。看看这个S.O. topic 以获得一些提示,当然也可以阅读Apple docs 了解它(内存管理部分)。

    同时检查您的应用是否存在内存泄漏和不正确的内存使用模式,例如过度保留。

    如果 iOS 因内存使用过多而终止您的应用程序,您将无能为力。无论如何,您可以在 didReceiveMemoryWarning 中显示警报,因此警告用户应用程序可能很快就会崩溃(但您会在实际崩溃之前多次显示它)。

    【讨论】:

    • 告诉您的用户应用程序内存不足并且可能随时崩溃是一个糟糕的主意。他能做些什么呢?由开发人员来处理低内存警告,而不是警告用户将要发生不好的事情。
    • 他能做些什么呢?删除太大而无法以某种方式管理或显示的用户图片怎么办?如果用户愿意,建议用户做一些事情以保存当前状态,以便万一出现任何问题,至少他可以从那里恢复?你不需要说:“嘿,我要崩溃了”!您对可能存在的所有应用程序了解多少?了解如何正确使用或不正确使用某些东西取决于人类的智慧。没有义务仅仅因为有可能做错事。
    猜你喜欢
    • 1970-01-01
    • 2015-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-08
    相关资源
    最近更新 更多