Android Wifi 响应太慢

问题描述 投票:0回答:3

我目前正在开发一个 Android 应用程序,其中数据通过 http 从服务器传输到客户端(全部在本地网络中)。我的意图是这应该实时发生,但实际上(在某些情况下)Android 不会立即接受响应。这导致延迟高达 200-3000(!)ms(从在服务器上启动包到 android 收到它的时间!)这是一个绝对不能令人信服的行为。 Wireshark 告诉我,有时会有几次 tcp 重传(零到五次)——这意味着,包没有以适合 tcp 的速度到达。 为了证实这一点,通过 wifi 从笔记本电脑/其他 android 设备进行简单的 Ping 显示平均延迟为 150(!每个设备的连接性都足够好!)。在本地网络中,我希望在糟糕的情况下通过 wifi 延迟最多 20 毫秒..

有没有人有这种行为的经验,可以给我一些建议?

我知道移动设备总是有很多节能选项 - 在这种情况下 - 我如何为我的应用程序禁用它?

java android performance tcp wifi
3个回答
5
投票

我相信“Wi-Fi 优化”在 android 系统范围内默认启用。此选项可最大限度地减少电池使用量。您可以通过进入选择 wifi 连接的 wifi 设置来禁用它,然后按菜单 -> 高级。

补充资料: http://www.pocketables.com/2013/10/android-tip-turn-off-wifi-optimization-if-youre-having-trouble-using-certain-apps-over-wifi.html


1
投票

在开发者选项中:

  • 启用
    Wifi scan throtting
  • 启用
    Tethering Hardware Acceleration
  • 禁用
    Wifi Optimiation
  • 添加
    android:hardwareAccelerated="true"
    android:largeHeap="true"
    AndroidManifest application

而且,如果您在

Game Category
中定义应用程序,一些制造商有自定义加速实现,如小米和三星,为了快速测试这个
Game Enhancment Implemantations
Popup Window
打开游戏,然后测试您的应用程序;)


0
投票

Android 10+ 有一个新技巧:

adb shell cmd wifi force-low-latency-mode enabled

参见https://source.android.com/docs/core/connect/wifi-low-latency以供参考。虽然没有解决我的 ping 问题。

© www.soinside.com 2019 - 2024. All rights reserved.