我已经在Reachability类上工作了一段时间,并尝试了Apple sample和ddg中的一个。我想知道在启动通知程序后,Reachability类是否继续发送/接收数据。
因为我正在开发一个经常连接到不同主机的应用程序,所以我决定编写一个单例,并在上面附加我需要的可达性类。一旦应用程序启动,就会启动可达性类并启动它们的通知程序。我使用单例方法,因为我希望这个单例类是可移植的,并且可以应用于其他应用程序,而不需要太多重写。我不确定像这样实现是不是一个好主意,但它工作得很好。
然而,有人报告说,使用这款应用后,他的设备电池耗尽速度明显加快,有人报告说使用了更多的数据。我的应用程序不会在后台发送/接收数据,所以我开始怀疑这是否与可达性有关。
我尝试使用Instrument分析能源使用情况,我注意到,即使我将应用程序置于空闲状态,也会有连续的小数据(平均几百字节)通过网络接口进入。然而,几乎没有数据发送出去。
我知道可达性在初始化(解析DNS等)时需要使用数据,但我不确定它在启动通知程序后是否仍在使用数据。有谁能看出来吗?
我不熟悉低级编程,如果有人能解释一下可达性是如何工作的,那就太好了。
发布于 2012-09-05 17:13:04
我使用可达性,虽然我没有监控连接,但我浏览了代码,我看不出它为什么会一直发送(或接收)。
如果你有一个以太网连接到你的Mac,这是相当容易检查。启用以太网连接的wifi共享。安装小告密者,它将在演示模式下运行三个小时后,每次启动。关闭测试设备上的数据连接,并通过wifi将其连接到mac。
这将允许您查看测试设备正在进行的任何网络访问。
如果这是不可能的,你也可以在模拟器中运行你的应用程序,因为网络端应该是相同的,所以你应该能够检查。
还有很多其他工具可以跟踪网络活动,但我认为小告密者是最容易使用的。
https://stackoverflow.com/questions/12277651
复制相似问题