1

我已经在 Reachability 类上工作了一段时间,并尝试了 Apple 示例中的一个和 ddg 中的一个。我想知道启动通知程序后可达性类是否继续发送/接收数据。

由于我正在开发一个经常连接到不同主机的应用程序,因此我决定编写一个单例并在其上附加我需要的可达性类。一旦应用程序启动,将启动可响应性类并启动它们的通知程序。我使用单例方法是因为我希望这个单例类是可移植的,并且可以应用到其他应用程序而无需大量重写。我不确定这样实施是否是个好主意,但效果很好。

但是,有人报告说,使用该应用程序后,他的设备电池消耗得更快,并且有人报告说数据使用量更大。我的应用程序不会在后台发送/接收数据,所以我开始怀疑它是否与可达性有关。

我尝试使用 Instrument 分析能源使用情况,我注意到即使我的应用程序处于空闲状态,也有连续的小数据(平均几百字节)通过网络接口进入。但是,几乎没有数据发送出去。

我知道 Reachability 在启动(解析 DNS 等)时需要使用数据,但我不确定它在启动通知程序后是否仍继续使用数据。有谁可以告诉?

我不熟悉低级编程,如果有人能解释可达性是如何工作的,那就太好了。

4

1 回答 1

0

我使用可达性,虽然我没有监控连接,但我浏览了代码,我看不出它会继续发送(或接收)的任何原因。

如果您的 Mac 有以太网连接,则很容易检查。启用通过以太网连接的 wifi 共享。安装小飞贼,每次开机后都会在演示模式下运行三个小时。关闭测试设备上的数据连接并通过 wifi 将其连接到您的 mac。

这将允许您查看您的测试设备正在进行的任何网络访问。

如果这不可能,您也可以在模拟器中运行您的应用程序,因为网络端应该是相同的,所以您应该能够检查。

还有很多其他工具可以跟踪网络活动,但我认为 little snitch 是最容易使用的。

于 2012-09-05T09:13:04.223 回答