我已经在 Reachability 类上工作了一段时间,并尝试了 Apple 示例中的一个和 ddg 中的一个。我想知道启动通知程序后可达性类是否继续发送/接收数据。
由于我正在开发一个经常连接到不同主机的应用程序,因此我决定编写一个单例并在其上附加我需要的可达性类。一旦应用程序启动,将启动可响应性类并启动它们的通知程序。我使用单例方法是因为我希望这个单例类是可移植的,并且可以应用到其他应用程序而无需大量重写。我不确定这样实施是否是个好主意,但效果很好。
但是,有人报告说,使用该应用程序后,他的设备电池消耗得更快,并且有人报告说数据使用量更大。我的应用程序不会在后台发送/接收数据,所以我开始怀疑它是否与可达性有关。
我尝试使用 Instrument 分析能源使用情况,我注意到即使我的应用程序处于空闲状态,也有连续的小数据(平均几百字节)通过网络接口进入。但是,几乎没有数据发送出去。
我知道 Reachability 在启动(解析 DNS 等)时需要使用数据,但我不确定它在启动通知程序后是否仍继续使用数据。有谁可以告诉?
我不熟悉低级编程,如果有人能解释可达性是如何工作的,那就太好了。