我在HockeyApp上收到大量崩溃日志,它只是说“应用程序没有干净地终止,但没有发生崩溃”。它与后台任务有关吗?
谢谢,
答案 0 :(得分:4)
当您启用HockeyApp AppNotTerminatingCleanlyDetection时,可能会发生这种情况。这是一种启发式方法,可以让您跟踪iOS应用程序崩溃或死亡的情况,而这些应用程序位于前台,否则应用程序的进程内崩溃记者无法检测到该错误:
由于以下原因之一,如果应用程序在前台被杀,它可以获取崩溃报告:
- 主线程已被阻止太长时间
- 应用程序启动时间太长
- 该应用尝试分配太多内存。如果iOS因为这个原因在杀死应用之前发送了内存警告,
didReceiveMemoryWarningInLastSession
会返回YES
。- 主线程在无限循环中运行时允许的后台持续时间
- 如果主线程在无限循环中运行,应用程序无法及时恢复
- 如果未激活
enableMachExceptionHandler
,则还会报告由于堆栈溢出而导致崩溃无法检测到以下杀人事件:
- 终止应用程序需要太长时间
- 所有其他情况下允许的背景持续时间太长
- App无法及时恢复所有其他情况 可能更多的情况
- 此机制触发的崩溃报告不包含