【发布时间】:2017-05-09 04:32:37
【问题描述】:
我在 HockeyApp 上收到了很多崩溃日志,它只是说“应用程序没有完全终止,但没有发生崩溃”。跟后台任务有关系吗?
谢谢,
【问题讨论】:
我在 HockeyApp 上收到了很多崩溃日志,它只是说“应用程序没有完全终止,但没有发生崩溃”。跟后台任务有关系吗?
谢谢,
【问题讨论】:
当您启用 HockeyApp 的 AppNotTerminatingCleanlyDetection 时,可能会发生这种情况。这是一种启发式方法,可让您跟踪处于前台的 iOS 应用程序的崩溃或终止,否则应用程序的进程内崩溃报告器将无法检测到:
如果应用由于以下原因之一而在前台被杀死,它可以获取崩溃报告:
- 主线程被阻塞太久
- 应用启动时间过长
- 应用程序试图分配过多的内存。如果 iOS 确实因为这个原因在终止应用之前发送了内存警告,
didReceiveMemoryWarningInLastSession返回YES。- 如果主线程在无限循环中运行,则允许后台持续时间
- 如果主线程在无限循环中运行,应用程序无法及时恢复
- 如果
enableMachExceptionHandler没有激活,也会报栈溢出崩溃无法检测到以下杀戮:
- 终止应用程序耗时过长
- 对于所有其他情况,允许的后台持续时间太长
- 对于所有其他情况,应用程序未能及时恢复 可能还有更多案例
- 由此机制触发的崩溃报告不包含
【讨论】: