Android如何衡量上传/下载速度wifi / 2G / 3G ......?

时间:2013-01-02 12:22:20

标签: android file-upload download

我在Google上搜索过但未找到任何衡量网络速度wifi/2G/3G的速度的教程。

通过搜索批次最终获得了THIS的下载速度,任何人都知道上传速度。

任何人都指导我是否存在任何API或教程?任何帮助将不胜感激。

先谢谢。

3 个答案:

答案 0 :(得分:0)

您必须实施自己的速度测量程序。你可以在这里找到Ookla speedtest的算法描述: http://wiki.ookla.com/lq_test_flow

基本上你要做的就是执行下载和上传例程并测量下载和上传的时间。您可以使用 System.nanoTime()来获得更准确的时间戳。

答案 1 :(得分:0)

一种非常直接的通用方法,不需要特殊工具:

上传/下载已知大小的文件到某个服务器(如果您没有自己的服务器,可以使用dropbox等)并使用CountDownTimer衡量所用的时间。

然后,您可以使用收集的数据轻松计算速度。

答案 2 :(得分:0)

由于有许多采样方法,因此没有内置的Android库,没有一种“真正的”速度。您可以检查以下标准,以使您更好地了解推荐的方法:

https://itu.int/en/ITU-T/C-I/Pages/IM/Internet-speed.aspx

https://itu.int/itu-t/recommendations/rec.aspx?rec=q.3960

https://itu.int/ITU-T/recommendations/rec.aspx?rec=14125

https://tools.ietf.org/pdf/rfc6349.pdf

无论选择哪种算法,请确保其都是多线程的(在多个线程中并行下载文件,上传时相同)

您还可以使用我们的Android SDK,该SDK应该可以满足您的要求并符合ITU标准:

https://github.com/speedchecker/speedchecker-sdk-android