У меня есть три устройства для Android, Samsung Galaxy Note 10 и HTC Desire C и Sony Xperia E. Также у меня есть служба, которая прослушивает определенный порт TCP на этих устройствах. Политика WIFI установлена на «Всегда включен» на всех моих устройствах, а моя служба получает WIFI_MODE_FULL и PARTIAL_WAKE_LOCK, поэтому CPU и WIFI всегда находятся там. Через некоторое время, когда я хочу подключиться к этим устройствам с сервера, происходит что-то плохое.Android странное поведение кросс-устройства
- Устройство Samsung Galaxy Note всегда ведет себя правильно.
- HTC Desire становится недостижимым
- В Sony Устройство также недостижим
Я эти устройства Запрос пользователю, чтобы увидеть, если они там или нет. Результаты:
- Устройство Samsung всегда реагирует на запросы ping немедленно и нормально.
- HTC и Sony устройства недоступны на некоторое время, и иногда они реагируют, но с очень большой задержкой, даже когда их экран включен (временная колонка ping иногда составляет около 5000 мс).
Я знаю, что есть некоторые проблемы с политикой WIFI:
- https://code.google.com/p/android/issues/detail?id=9781
- https://code.google.com/p/android/issues/detail?id=6611
Но почему время пинг, как это ?? Даже когда экран включен? Кроме того, я знаю, что часы процессора уменьшаются, когда экран выключается, даже если у вас есть блокировка слежения. Может ли это вызвать проблемы в служебном коде, который обрабатывает TCP-соединения?
Но это не отвечает на мой вопрос о том, почему это происходит? из-за изменения частоты процессора? (Или есть другая причина). Может ли частота процессора приводить к неправильной работе кода сервера? – gst
Нет, частота процессора не должна приводить к неправильной работе локального кода сервера. Опять же, я считаю, что это в основном проблема оптимизации экономии батареи. Например, в случае уменьшения тактовых импульсов ЦП при включении экрана, я считаю, что это энергия батареи, которая используется для экрана, который будет отведен от CPU. –
Если это связано с сохранением батареи, почему время ping всегда плохое, даже когда экран включен в устройствах HTC и Sony? Ping - это активность, связанная с IO, и не потребляет процессор, но даже когда экран всегда находится в режиме ping на Xperia, а устройство HTC очень велико! Это странно. Это может быть вызвано режимом буферизации Wifi, но этот режим не должен быть включен в обычных условиях и когда экран включен. В любом случае, спасибо за ваш ответ. – gst