【问题标题】:How to get alert when when level=2 warning occurs in didReceiveMemoryWarning method in iPhone [duplicate]iPhone中的didReceiveMemoryWarning方法中发生level = 2警告时如何发出警报[重复]
【发布时间】:2011-06-21 13:14:28
【问题描述】:

可能重复:
Generating alert to User when didReceiveMemoryWarning is called

在我的应用程序中,我将使用相机拍摄图像并将其设置为背景图像。有时我收到警告为“收到警告级别=1。”。用这个支付了一段时间后,我收到了另一个警告 “Warning Received Level=2.” 在这些时候 “didReceiveMemoryWarning” 方法将被调用。如果我收到 level=2 警告,我想向用户显示警报。我怎样才能以编程方式做到这一点。

任何人都可以帮助我。 提前致谢。

【问题讨论】:

    标签: iphone objective-c


    【解决方案1】:

    您不应该向用户显示警报 - 用户不会担心您会收到内存警告。您应该尝试找出为什么要使用这么多内存以及可能存在泄漏的原因。 此外,在内存警报中,您应该摆脱当时不需要的东西(并且您可以在需要时轻松地重新创建)。

    【讨论】:

    • 同意。如果用户收到内存不足的警告,他应该怎么做?管理自己的内存是程序的责任。
    • 这也可能是一个错误的问题:收到警告的不是用户,而是应用程序。
    【解决方案2】:

    正如 Paul 所指出的,您不应该在最终的应用程序中这样做。显示任何不重要的警报都会耗尽 iPhone 的“魔力”。

    假设您只是为了自己和测试目的而这样做,您可以使用 UIAlertView 像这样:

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle: @"Memory Warning"
                message: @"Level 2 Memory Warning has been born. Fix me, will ya?"
                delegate: nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];
    

    【讨论】:

    • 我认为有更好的方法 - 例如记录,或抛出 NSAssert
    • @Abizem:毫无疑问。我个人绝不希望 UI 警报出现在内存警告中,即使是为了测试。我更喜欢记录。根据我从 OP 收集到的小细节,我想我会回答他的问题,而不是说服他使用另一种方法。我们不完全确定他的推理是什么,所以我们所能做的就是假设他头脑稳定并且他的要求是有效的。
    • 很公平。逆转。但是你知道他们对假设的看法吗? ;)
    【解决方案3】:

    没有办法区分 1 级和 2 级警告。因此,即使您知道如何显示警报,也不能将其限制为 2 级警告。

    【讨论】:

      猜你喜欢
      • 2022-01-14
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多