【问题标题】:iOS - i receive memory warnings but have no idea whyiOS - 我收到内存警告但不知道为什么
【发布时间】:2012-02-21 05:27:22
【问题描述】:

我正在为 iOS 开发并使用 iPhone 和 iPad 检查我的应用程序。

我收到许多内存警告(调用了 didReceiveMemoryWarning),但不知道为什么。 我的应用在峰值点使用约 35MB,在最低点使用 4-5MB。

我尝试使用“仪器”查找泄漏,但找不到任何关键问题。

有没有什么好的方法可以找出系统为什么会发送内存警告?

【问题讨论】:

  • 泄漏仪器是最好的可用工具。您是否在模拟器和设备上都运行过泄漏?

标签: ios xcode ipad ios5 instruments


【解决方案1】:

iOS 应用程序中会出现内存警告。不一定是因为您的应用程序。即使应用程序被挂起,其他应用程序仍在内存中。操作系统将通过发送内存警告来进行内存管理,并在必要时终止应用程序。只要您使用合理的内存量(几乎没有内存泄漏)并正确处理 didReceiveMemoryWarning,就可以了。

此外,当您的应用处于挂起模式时,如果您的应用占用的内存很少,那么您的应用更有可能在终止进程中幸存下来。由于内存占用较大的应用程序将首先终止。

【讨论】:

  • 当我在 iPhone 5 上调试我的应用程序以及其他数十个活动应用程序时,我收到“收到内存警告”。在我一一停止并再次尝试后,该警告消息消失了。
【解决方案2】:

我还发现“产品 -> 分析”(Shift+Command+B)可以帮助您在开始使用 Leaks 之前解决一些代码问题。但随着 ARC 的引入,这变得不那么有用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多