我有三个Android设备,三星Galaxy Note 10,HTC Desire C和Sony Xperia E.我也有一个服务,可以监听这些设备上的特定TCP端口。 WIFI策略在我的所有设备中都设置为“Always on”,我的服务也获取了WIFI_MODE_FULL和PARTIAL_WAKE_LOCK,因此CPU和WIFI始终存在。一段时间后,当我想从服务器连接到这些设备时,会发生一些不好的事情。
我固定这些设备以查看它们是否存在。结果是:
我知道WIFI政策存在一些问题:
但为什么ping时间是这样的?即使屏幕打开?我也知道,即使你持有唤醒锁,屏幕熄灭时CPU时钟也会减少。这会导致处理TCP连接的服务代码出现问题吗?
答案 0 :(得分:1)
制造商希望能够吹嘘电池续航时间最长。为此,他们将剃除现有功能到他们的骨头,以实现电池寿命。
是的,它可能会导致问题并且确实会导致问题,但这是您应该采取防御性编程的众多原因之一。换句话说,确保您的应用程序准备好处理丢弃的数据包和可能更长的延迟。
希望你的问题不完全是修辞,你真的想要一个答案。