【问题标题】:Does Crashlytics generates crash report on low memory app termination(iOS)?Crashlytics 是否会生成有关低内存应用程序终止 (iOS) 的崩溃报告?
【发布时间】:2018-10-30 12:53:09
【问题描述】:

当系统在内存不足的情况下终止 iOS 应用程序并且应用程序处于以下状态时,Crashlytics 是否会生成崩溃报告:

  1. 背景
  2. 前景

【问题讨论】:

  • 我投票结束这个问题,因为这不是 Crashlytics 支持。
  • @LinusGeffarth 在谷歌搜索半小时后我没有找到明确的答案。为什么不做一个?
  • 我对我的答案进行了编辑

标签: ios crashlytics crash-reports


【解决方案1】:

根据information I was able to find,答案是肯定的,但前提是应用程序在终止时在前台运行。

但是,似乎也没有可靠的方法来检测这种崩溃。 Crashlytics 和其他崩溃报告框架在事后分析崩溃数据,也就是说下次运行应用程序时。在这种情况下,他们首先尝试消除其他潜在的终止原因,如果没有其他匹配项,则可能是内存不足终止。

【讨论】:

  • "我们仅在应用在第二次启动前处于前台时才报告 OOM"。所以是的,他们报告,但前提是应用程序在前台。请修正你的答案
【解决方案2】:

是的。 Crashlytics >> OOM 崩溃。您可以查看不同构建的统计信息。

该应用通常不太可能在前台杀死您。由于内存问题,应用程序杀死前台应用程序实际上是很不寻常的。大多数情况下,当您的应用程序处于后台时会发生这种情况。因为其他应用需要消耗内存才能工作。

对于具有 2Gb RAM 的设备,您的应用的内存占用量最好在前台最大为 1Gb*,在后台最大为 100Mb。例如,我知道如果您在 Safari 中打开一个新标签页,那么您的内存将占用大约 100Mb。而且,如果您再打开 3-4 个应用程序,那么您的应用程序的优先级将降低,并且更有可能被内存杀死。如果它必须在两个最近未使用的应用程序之间进行选择,那么它很可能会选择一个内存占用更大的应用程序。


*:如果您的应用使用 1Gb 内存,那么您的应用正在给其他应用增加压力。不是直接你的问题,但仍然需要考虑。您不想成为操作系统的糟糕应用程序。因此 300Mb 更合理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    相关资源
    最近更新 更多