【问题标题】:How to get Internet Speed? [closed]如何获得互联网速度? [关闭]
【发布时间】:2018-06-17 19:28:56
【问题描述】:

目前,我正在努力在状态栏中始终显示互联网速度。我能做的是,通过旧方法(上传和下载一些文件从/到服务器并使用 TrafficStats API)找到互联网速度。我尝试了一些 Play 商店应用程序,当用户打开任何使用互联网的应用程序时,它们都会显示互联网速度。我想实现相同的功能。我相信他们要么使用广播接收器,要么使用服务。我该如何实现呢?

或者是否有任何库可以执行相同或任何其他更好的方法?

【问题讨论】:

    标签: android wifi 3g data-connections


    【解决方案1】:

    显示互联网速度的问题在于它总是“历史”或估计值 - 即即使您在 1 秒前能够达到 300Mbps,但这并不意味着您现在就能达到。

    考虑到这一点,您已经概述的方法与任何方法一样可靠 - 即测量已知大小数据的往返时间。如果准确性对您很重要,那么如果您对服务器端的周转时间有信心,这可能是最准确的。

    您可以收听 Android 网络事件,这些事件会告诉您网络连接类型何时发生变化等 - 推荐的方法已随 API 级别发生变化,但这是一个很好的起点:https://developer.android.com/training/monitoring-device-state/connectivity-monitoring

    对于您的示例,听起来您希望获得尽可能最新的网络统计信息,而不是连接更改 - 因为“NetworkStatsManager”可能是最佳匹配。

    提供对网络使用历史和统计数据的访问。使用数据收集在称为“桶”的离散时间箱中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-09
      • 2012-06-16
      • 1970-01-01
      • 2019-11-29
      • 2011-04-01
      • 1970-01-01
      相关资源
      最近更新 更多