2

我遇到了EA 框架的一个严重问题。当应用程序处于前台时,一切正常,当附件时,我打开一个会话,检索流,设置它们的委托并在主运行循环上安排流

附件每秒都在对我的 iPhone 进行 ping 操作,并且这些 ping 是通过流代理读取的。这个 ping 是一种心跳:如果 iPhone 在几秒钟内没有收到任何 ping,用户就会收到警报。

这个应用程序应该在后台运行,所以我在我的 plist 文件中添加了相应的键

当应用程序在后台运行时,一切正常 10-30 分钟,突然间,7-8 秒,流代理没有被调用(但 ping 是从附件发送的),然后在一秒钟内,代理被调用八次(对于最后几秒内发送的所有 ping) 看起来我的应用程序暂停了八秒,然后在此间隔内发生的所有事件都排队,然后再交付。问题是,由于应用程序在这 8 秒内没有收到任何 ping,因此错误地提醒了用户

我不明白这种行为。有人遇到同样的问题吗?我正在考虑通过后台线程轮询流,而不是在主运行循环中调度它们。

谢谢,

4

0 回答 0