Я разрабатываю небольшое и очень простое приложение, где одно устройство Android отправляет небольшое сообщение по сети другому устройству Android. Android не позволит мне выполнять сетевые задачи в основном потоке, поэтому я использовал AsyncTask. Функциональные возможности следующие:Сетевые задачи с AsyncTask от Android приводят к очень разным задержкам
Когда кнопка нажата на Device1, создается и выполняется AsyncTask. ASyncTask отправляет сообщение «ping» с UDP на Device2. Устройство2 работает через некоторое время (true), и как только он получает сообщение «ping», он отправляет «понг». Устройство1 ожидает этого сообщения «понг».
Время измеряется с момента, когда устройство1 отправляет «пинг», пока не получит «понг». Если кнопка нажата несколько раз, латентность каждого пинг-понга резко падает до 2-5 мс, но у первого пинг-понга могут быть задержки от 60 до 350 мс. Если кнопка не нажимается некоторое время, а затем снова нажимается, типичная латентность также находится между 60-350 мс.
Есть ли кто-нибудь, кто может объяснить это поведение? Есть ли способ всегда достигать низких латентностей (~ 5 мс)?
Спасибо вам заранее!
Большое спасибо. Это действительно проблема, но я бы никогда не нашел ее сам, я думаю ... Спасибо! – JavaDeveloper1976
без проблем, теперь, если бы вы могли принять ответ, который был бы невероятным :) –
Как это нормально? Извините, что я новичок на этом сайте :) – JavaDeveloper1976