Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 应用程序在后台冻结_Ios_Swift - Fatal编程技术网

Ios 应用程序在后台冻结

Ios 应用程序在后台冻结,ios,swift,Ios,Swift,当我把我的应用程序放到后台,等待几分钟,然后重新激活应用程序,应用程序和整个手机通常都会冻结。当我在调试器中暂停应用程序时,我可以看到主线程正在等待信号量: Thread 1 Queue: com.apple.main-thread (serial) 0 semaphore_wait_trap 2 _dispatch_barrier_sync_f_slow 3 -[AAEventsManager addEvent:parameters:async:] 4 -[A

当我把我的应用程序放到后台,等待几分钟,然后重新激活应用程序,应用程序和整个手机通常都会冻结。当我在调试器中暂停应用程序时,我可以看到主线程正在等待信号量:

Thread 1  Queue: com.apple.main-thread (serial)
    0 semaphore_wait_trap
    2 _dispatch_barrier_sync_f_slow
    3 -[AAEventsManager addEvent:parameters:async:]
    4 -[AAEventsObserver onApplicationStateChanged:]
    5 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER_
    ---------------------------------------------------------
    23 UIApplicationMain
    24 main
    25 start
我的应用程序WillEnterForeground没有代码,并且在调用ApplicationIDBecomeActive之前应用程序冻结。如果我添加了一个后台计时器,它可以进行网络连接,当应用程序和iPhone UI冻结时,它们会在applicationWillEnterForeground之后运行,但连接总是失败。有时,应用程序在前台冻结时几乎立即重启。这些应用程序的cpu使用率为0%,内存使用率为25MB,能源影响为零

我已经用几个iPhone6设备进行了测试,这些设备都有iOS9.2


你知道发生了什么吗?

你使用版本控制吗?吉特?如果是,请跳回几个版本,查看第一次发生错误的提交时间-这是查找此类奇怪错误的最简单方法

查找有错误的提交的最快方法是应用二进制搜索算法。假设您有100次提交:

  • 首先检查是否在提交1时发生错误
  • 如果是,则您已找到带有错误的代码,如果不是,则跳转到一半(提交50)
  • 如果此提交中存在错误,则跳转到提交75,如果不是再次跳转到一半(提交25)
  • 等等。。。始终保持一半向上或一半向下,直到找到包含错误的确切提交

您是否使用一些版本控制?吉特?如果是,请跳回几个版本,查看第一次发生错误的提交时间-这是查找此类奇怪错误的最简单方法

查找有错误的提交的最快方法是应用二进制搜索算法。假设您有100次提交:

  • 首先检查是否在提交1时发生错误
  • 如果是,则您已找到带有错误的代码,如果不是,则跳转到一半(提交50)
  • 如果此提交中存在错误,则跳转到提交75,如果不是再次跳转到一半(提交25)
  • 等等。。。始终保持一半向上或一半向下,直到找到包含错误的确切提交

终于发现AAEventsManager属于AppAnalytics pods库。它是一个二进制库,所以我没有找到类名。删除了库,不再冻结。

最终发现AAEventsManager属于AppAnalytics pods库。它是一个二进制库,因此我没有找到类名。已删除库,不再冻结。

是否使用前缀为“AA”的第三方代码或库?我已尝试尽量减少使用第三方代码,对pods项目进行快速区分大小写的搜索不会显示前缀为“AA”的类。其他线程如何?例如,是否有东西正在等待发送到主线程?是否使用前缀为“AA”的第三方代码或库?我已尝试尽量减少使用第三方代码,并且对pods项目的快速区分大小写搜索显示没有前缀为“AA”的类。其他线程如何?例如,是否有东西等待分派到主线程?是的,我正在使用GIT。在Swift语法不再与新的Xcode兼容之前,我不知道我能跳多远。试试看,这似乎是你最好的选择。是的,我正在使用GIT。在Swift语法不再与新的Xcode兼容之前,我不确定我能跳到多远。试试看,这似乎是你的最佳选择。你通过返回提交层次结构发现了错误?通过返回提交层次结构发现了错误?