0

我最近一直在用应用程序在网络(Wi-fi、3G、LTE、离线)之间切换进行一些测试。在检测到此开关时,我一直在使用可达性,但我目前对应用程序进入“离线状态”时的实现不满意。

我现在基本上只是在无网络启动时抛出 NSLogs,但我已经看到它在开关之间关闭。所以我的问题......你如何最好地管理这些事情?在进入“离线状态”之前,您是否在无网络后延迟几秒钟?还是有其他方法可以改善这一点?

流式传输音频时的大问题.. 当只是一个简单的网络切换或小的连接丢失时,我不想进入这种离线状态。我要做的一件事是在更改状态之前等待缓冲区为空。

4

1 回答 1

1

是的,只需检查两次。使用您的示例,当您收到“离线”通知时,您会翻转一个标志(BOOL claimingOffline)。然后,当您的缓冲区清空时,您检查状态。如果重新联机,则取消翻转上述标志。如果仍处于离线状态,则翻转标志并进入“离线模式”。这种技术允许您等到您真正需要知道的那一刻(当缓冲区清空时)。否则你可以使用一个计时器,但它不是最理想的,也不是那么优雅......

于 2012-11-15T17:47:02.500 回答