【问题标题】:iOS, check if the app crashes because of lack of memoryiOS,检查应用程序是否因为内存不足而崩溃
【发布时间】:2025-12-24 09:00:15
【问题描述】:

如何确定崩溃的原因是内存不足?
崩溃日志中有什么具体内容吗? 也许我必须使用一些工具或库?

更新:我的应用程序使用大量内存并收到内存警告。减少内存使用非常困难。由于不时出现内存警告,它会崩溃。但我想确保它不会因为其他原因而崩溃。
那么如何检查应用崩溃的原因(每次都会收到大量内存警告)

更新 2:应用程序有大量 3D 图形和复杂的 UI,需要大量内存来存储纹理。客户不想进行任何类型的“加载...”暂停。如果我在背景中卸载不可见的纹理,我将无法获得流畅的动画。

所以我只需要检测除了内存之外还有什么崩溃原因

【问题讨论】:

  • 也许你可以解释一下是什么消耗了内存,如果可能的话,我们可以帮助减少内存使用。
  • 添加了内存使用详情

标签: ios crash memory-warning


【解决方案1】:

至少你可以实现方法

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application

在您的应用程序委托中,并放置一个日志以查看您是否确实在崩溃之前经历了它。

【讨论】:

    【解决方案2】:

    产品 -> 配置文件 -> 泄漏是检查内存泄漏的一种可能方法。 Allocations 将显示正在使用的总内存,leaks 将显示由于未释放而导致的泄漏。

    【讨论】:

    • 那么 Tejesh Alimilli 给出了一个很好的教程。检查 Profile -> leak -> Allocations 并找出哪个库正在使用内存,然后定位到特定的对象。
    【解决方案3】:

    【讨论】:

      【解决方案4】:

      您可以使用Apple's Instruments Tool 来分析各种信息,例如内存使用情况。该工具与 Xcode 捆绑在一起。

      【讨论】:

      • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
      • 答案也在链接的标题中,以防*碰巧删除了该页面。该链接更多是为了快速访问详细信息。不过,我会将问题编辑得更具体一些。