开发Android App,需要用到组播功能,按照官方说明,组播功能默认是关闭的,需要用到组播得打开组播锁,并且说明打开组播之后会导致严重的耗电问题,为什么?为什么接受广播又没有这个问题?
开发Android App,需要用到组播功能,按照官方说明,组播功能默认是关闭的,需要用到组播得打开组播锁,并且说明打开组播之后会导致严重的耗电问题,为什么?为什么接受广播又没有这个问题?
2 回答1.3k 阅读✓ 已解决
2 回答2.6k 阅读
1 回答2.1k 阅读
1 回答1.1k 阅读
2 回答1.7k 阅读
1 回答1.3k 阅读
1.3k 阅读
自己搜索了一通大概理解组播导致耗电的原因:
当组播和802.11无线标准的省电模式结合的时候,会使得无线客户端处于更长时间的工作状态(即更少的睡眠),因为在省电模式下,无线AP会缓存组播帧,直到下一个DTIM时间到时发送,而无线客户端在每一个beacon(信标)时间唤醒,并且保持更长的时间来接收组播帧,而这有可能导致下一个beacon时间的到时,使得无线客户端事实上一直处于工作状态,虽然是开了省电模式。
补充:至于接收广播帧为什么没有这个问题,推测是无线客户端不需要故意延长醒着的时间去接收,而是像普通的包一样接收,只是推测。
原文链接