在 Android 模拟器上模拟慢速网络
Simulate slow network on Android simulator
我正在构建一个应用程序,它使用 AsyncTask 在执行网络操作时显示进度条(Google 翻译)。
但是,问题是我无法判断它是否正常工作,因为网络速度太快,而且我一启动它就完成了 运行ning 操作。
那么有没有一种方法可以模拟慢速网络,以便我可以判断进度条在等待操作完成时是否实际上 运行 (可见)?我在创建 Android 模拟器时遇到过网络选项。但是,有太多的缩写,我仍然无法理解什么表示网络连接速度慢,我仍然不确定我是否应该这样设置网络连接速度慢。
提前致谢!
在命令行上使用 telnet,您可以连接到您的模拟器并更改设备的网络速度。
telnet localhost <<port of device>>
network speed <<network speed, ex: edge, full>>
您可以从模拟器的 window 顶部获取设备的端口。
您可以使用 android docs here 中的任何速度。我推荐慢速边缘
如果您使用的是 windows,则必须设置 telnet,您可以在 this SO post 中找到相关说明。
在OSX中可以使用NetworkLinkConditioner,很有用。这里是 link 如何使用它以及如何安装它。它将影响所有使用网络的程序。
http://nshipster.com/network-link-conditioner/
您还可以将所有流量发送到代理并使用节流。我使用 Charles(商业版,30 天免费试用)
https://www.charlesproxy.com/
模拟器可让您模拟各种网络状况。您可以估计不同网络协议的网络速度,或者您可以指定 Full,它会以您的计算机允许的速度传输数据。
指定网络协议总是比 Full 慢。您还可以指定语音和数据网络状态,例如漫游。默认值在 AVD 中设置。
Select 网络类型:
- GSM - 全球移动通信系统
- HSCSD - 高速电路交换数据
- GPRS - 通用分组无线电服务
- EDGE - GSM Evolution 的增强数据速率
- UMTS - 通用移动电信系统
- HSPDA - 高速下行链路分组接入
- 完整(默认)
增加kbps的参考速度:
UP DOWN
-------- ----------
gsm GSM/CSD 14.4 14.4
hscsd HSCSD 14.4 57.6
gprs GPRS 28.8 57.6
umts UMTS/3G 384.0 384.0
edge EDGE/EGPRS 473.6 473.6
hsdpa HSDPA 5760.0 13,980.0
lte LTE 58,000.0 173,000.0
evdo EVDO 75,000.0 280,000.0
full No limit ∞ ∞
Select 语音状态、数据状态或两者:
- 主页(默认)
- 漫游
- 正在搜索
- 已拒绝(仅限紧急呼叫)
- 未注册(关闭)
有关详细信息,请参阅 https://developer.android.com/studio/run/emulator.html#extended
在模拟器应用程序中,您可以通过单击侧面的三个点来更改网络设置:
然后选择“蜂窝网络”,即可看到网络设置。
我正在构建一个应用程序,它使用 AsyncTask 在执行网络操作时显示进度条(Google 翻译)。 但是,问题是我无法判断它是否正常工作,因为网络速度太快,而且我一启动它就完成了 运行ning 操作。 那么有没有一种方法可以模拟慢速网络,以便我可以判断进度条在等待操作完成时是否实际上 运行 (可见)?我在创建 Android 模拟器时遇到过网络选项。但是,有太多的缩写,我仍然无法理解什么表示网络连接速度慢,我仍然不确定我是否应该这样设置网络连接速度慢。
提前致谢!
在命令行上使用 telnet,您可以连接到您的模拟器并更改设备的网络速度。
telnet localhost <<port of device>>
network speed <<network speed, ex: edge, full>>
您可以从模拟器的 window 顶部获取设备的端口。
您可以使用 android docs here 中的任何速度。我推荐慢速边缘
如果您使用的是 windows,则必须设置 telnet,您可以在 this SO post 中找到相关说明。
在OSX中可以使用NetworkLinkConditioner,很有用。这里是 link 如何使用它以及如何安装它。它将影响所有使用网络的程序。
http://nshipster.com/network-link-conditioner/
您还可以将所有流量发送到代理并使用节流。我使用 Charles(商业版,30 天免费试用) https://www.charlesproxy.com/
模拟器可让您模拟各种网络状况。您可以估计不同网络协议的网络速度,或者您可以指定 Full,它会以您的计算机允许的速度传输数据。
指定网络协议总是比 Full 慢。您还可以指定语音和数据网络状态,例如漫游。默认值在 AVD 中设置。
Select 网络类型:
- GSM - 全球移动通信系统
- HSCSD - 高速电路交换数据
- GPRS - 通用分组无线电服务
- EDGE - GSM Evolution 的增强数据速率
- UMTS - 通用移动电信系统
- HSPDA - 高速下行链路分组接入
- 完整(默认)
增加kbps的参考速度:
UP DOWN
-------- ----------
gsm GSM/CSD 14.4 14.4
hscsd HSCSD 14.4 57.6
gprs GPRS 28.8 57.6
umts UMTS/3G 384.0 384.0
edge EDGE/EGPRS 473.6 473.6
hsdpa HSDPA 5760.0 13,980.0
lte LTE 58,000.0 173,000.0
evdo EVDO 75,000.0 280,000.0
full No limit ∞ ∞
Select 语音状态、数据状态或两者:
- 主页(默认)
- 漫游
- 正在搜索
- 已拒绝(仅限紧急呼叫)
- 未注册(关闭)
有关详细信息,请参阅 https://developer.android.com/studio/run/emulator.html#extended
在模拟器应用程序中,您可以通过单击侧面的三个点来更改网络设置:
然后选择“蜂窝网络”,即可看到网络设置。