【发布时间】:2014-11-12 02:16:30
【问题描述】:
我正在开发一个小型且非常简单的应用程序,其中一台 Android 设备通过网络向另一台 Android 设备发送一条小消息。 Android 不会让我在主线程上做网络任务,所以我使用了 AsyncTask。功能如下:
当在 Device1 上按下按钮时,会创建并执行 AsyncTask。 ASyncTask 使用 UDP 向 Device2 发送“ping”消息。 Device2 在 while(true) 循环中运行,一旦它收到“ping”消息,它就会发送一个“pong”。 Device1 正在等待这个“pong”消息。
时间是从 Device1 发送“ping”到收到“pong”的那一刻。如果多次按下按钮,每次乒乓球的延迟会急剧下降到 2-5 毫秒,但第一次乒乓球的延迟可能会在 60-350 毫秒之间变化。如果按钮一段时间没有按下然后再次按下,典型的延迟也在 60-350ms 之间。
有没有人可以解释这种行为?有没有办法始终实现低延迟(~5ms)?
提前谢谢大家!
【问题讨论】:
标签: android performance android-asynctask udp latency