84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
开发Android App,需要用到组播功能,按照官方说明,组播功能默认是关闭的,需要用到组播得打开组播锁,并且说明打开组播之后会导致严重的耗电问题,为什么?为什么接受广播又没有这个问题?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
自己搜索了一通大概理解组播导致耗电的原因: 当组播和802.11无线标准的省电模式结合的时候,会使得无线客户端处于更长时间的工作状态(即更少的睡眠),因为在省电模式下,无线AP会缓存组播帧,直到下一个DTIM时间到时发送,而无线客户端在每一个beacon(信标)时间唤醒,并且保持更长的时间来接收组播帧,而这有可能导致下一个beacon时间的到时,使得无线客户端事实上一直处于工作状态,虽然是开了省电模式。
补充:至于接收广播帧为什么没有这个问题,推测是无线客户端不需要故意延长醒着的时间去接收,而是像普通的包一样接收,只是推测。原文链接
自己搜索了一通大概理解组播导致耗电的原因:
当组播和802.11无线标准的省电模式结合的时候,会使得无线客户端处于更长时间的工作状态(即更少的睡眠),因为在省电模式下,无线AP会缓存组播帧,直到下一个DTIM时间到时发送,而无线客户端在每一个beacon(信标)时间唤醒,并且保持更长的时间来接收组播帧,而这有可能导致下一个beacon时间的到时,使得无线客户端事实上一直处于工作状态,虽然是开了省电模式。
补充:至于接收广播帧为什么没有这个问题,推测是无线客户端不需要故意延长醒着的时间去接收,而是像普通的包一样接收,只是推测。
原文链接