低连接性的最佳做法?

时间:2012-11-15 17:40:47

标签: iphone ios networking reachability

我最近在网络(Wi-Fi,3G,LTE,离线)之间进行应用切换时进行了一些测试。我在检测到这个开关时一直在使用Reachability,但是当应用程序进入“离线状态”时,我现在不满意实现。

我基本上只是在无网络启动时抛出NSLogs,但我看到它在交换机之间发生了变化。所以我的问题......你如何最好地管理这些事情?在进入“离线状态”之前几秒钟没有网络之后,你是否延迟了?或者还有其他方法可以改善这一点吗?

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

1 个答案:

答案 0 :(得分:1)

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