在Android模拟器上模拟慢速网络

时间:2016-07-01 02:17:32

标签: android android-asynctask android-emulator

我正在构建一个使用AsyncTask在执行网络操作时显示进度条的应用程序(谷歌翻译)。 但问题是我无法判断它是否正常工作,因为网络速度太快,并且一启动就完成了运行。 那么是否有一种模拟慢速网络的方法,以便我可以判断进度条在等待操作完成时是否实际运行(可见)?在创建Android模拟器时,我遇到了网络选项。但是,有很多缩写我仍然无法理解什么表明网络连接速度慢,我仍然不确定这是否应该如何设置慢速网络连接。

提前致谢!

4 个答案:

答案 0 :(得分:31)

模拟器可让您模拟各种网络条件。您可以为不同的网络协议估算网络速度,也可以指定“完全”,它可以在计算机允许的情况下尽快传输数据。

指定网络协议始终慢于完全。您还可以指定语音和数据网络状态,例如漫游。默认值在AVD中设置。

选择网络类型:

  • GSM - 全球移动通信系统
  • HSCSD - 高速电路交换数据
  • GPRS - 通用分组无线服务
  • EDGE - GSM演进的增强数据速率
  • UMTS - 通用移动电信系统
  • HSPDA - 高速下行链路分组接入
  • 完整(默认)

GPRS(114Kbps)< EGDE(368Kbps)< 3G(3.1Mbps)< HSDPA(14Mbps)< HSPA +(168Mbps)< 4G / LTE(299.6Mbps)

选择语音状态,数据状态或两者:

  • 主页(默认)
  • 漫游
  • 搜索
  • 拒绝(仅限紧急电话)
  • 未注册(关闭)

有关详细信息,请参阅https://developer.android.com/studio/run/emulator.html#extended

答案 1 :(得分:3)

在OS X中,您可以使用网络链接调节器,非常有用。这是一个如何使用它以及如何安装的链接。它将影响使用网络的所有程序。

http://nshipster.com/network-link-conditioner/ enter image description here

此外,您可以将所有流量发送到代理并使用限制。我用 Charles (商业,30天免费试用) https://www.charlesproxy.com/

答案 2 :(得分:2)

使用命令行上的telnet,您可以连接到模拟器并更改设备的网络速度。

telnet localhost <<port of device>>
network speed <<network speed, ex: edge, full>>

您可以从模拟器窗口的顶部获取设备的端口。

您可以使用enter image description here中的任何速度。我推荐慢速行驶边缘

如果您在Windows上,则必须设置telnet,您可以在android docs here中找到指示。

答案 3 :(得分:0)

在仿真器应用程序中,您可以通过单击侧面的三个点来更改网络设置:

emulator settings

然后选择“蜂窝”,您可以看到网络设置。

network settings