【发布时间】:2012-12-16 19:33:34
【问题描述】:
我在 Google 上搜索过,但没有找到任何测量 android wifi/2G/3G 网络速度的教程。
通过大量搜索终于得到THIS的下载速度任何人都知道上传速度。
任何人指导我是否有任何API 或教程存在?任何帮助将不胜感激。
提前致谢。
【问题讨论】:
标签: android file-upload download
我在 Google 上搜索过,但没有找到任何测量 android wifi/2G/3G 网络速度的教程。
通过大量搜索终于得到THIS的下载速度任何人都知道上传速度。
任何人指导我是否有任何API 或教程存在?任何帮助将不胜感激。
提前致谢。
【问题讨论】:
标签: android file-upload download
您必须实现自己的速度测试测量例程。你可以在这里找到 Ookla 的 speedtest 的算法描述: http://wiki.ookla.com/lq_test_flow
基本上你要做的就是执行下载和上传例程并测量下载和上传的时间。您可以使用 System.nanoTime() 获得更准确的时间戳。
【讨论】:
不需要特殊工具的非常简单的通用方法是:
将已知大小的文件上传/下载到某个服务器(如果您没有自己的服务器,可以使用保管箱等)并使用CountDownTimer 测量所花费的时间。
然后您可以使用收集的数据轻松计算速度。
【讨论】:
没有内置的 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,它应该可以满足您的需求并符合 ITU 标准:
【讨论】: