H5游戏源码Android端获取网速上下行速度
H5游戏源码Android端获取网速上下行速度的相关代码
package tech.tosee.app.utils import android.net.TrafficStats import java.math.BigDecimal class GetUpAndDownloadSpeed { private var mCurrentTotalUp : Long = 0 //当前手机总的上行流量 private var mCurrentTotalDown : Long = 0 //当前手机总的下行流量 private var mLastTotalUp : Long = 0 //上次手机总的上行流量 private var mLastTotalDown : Long = 0 //上次手机总的下行流量 private var lastTimeStampTotalUp : Long = 0 private var lastTimeStampTotalDown : Long = 0 private var mCurrentUp : Long = 0 //当前手机指定进程的上行流量 private var mCurrentDown : Long = 0 //当前手机指定进程的下行流量 private var mLastUp : Long = 0 //上次手机指定进程的上行流量 private var mLastDown : Long = 0 //上次手机指定进程的下行流量 private var lastTimeStampUp : Long = 0 //上行时间戳 private var lastTimeStampDown : Long = 0 //下行时间戳 //换算后的上下行速度 private var totalUpSpeed : Float = 0.00F private var totalDownSpeed : Float = 0.00F private var upSpeed : Float = 0.00F private var downSpeed : Float = 0.00F private var defaultPointAmount = 2 //保留小数的位数,默认为2位 //获取总的上行速度 fun getTotalUpSpeed() : Float{ //refreshTime : 刷新时间 val currentTotalTxBytes = TrafficStats.getTotalTxBytes() val nowTimeStampTotalUp = System.currentTimeMillis() mCurrentTotalUp = currentTotalTxBytes - mLastTotalUp //计算上传速度 totalUpSpeed = BigDecimal((mCurrentTotalUp/1024)*1000 / ((nowTimeStampTotalUp-lastTimeStampTotalUp)*1.0)).setScale(defaultPointAmount,BigDecimal.ROUND_HALF_UP).toFloat() //单位: KB/s //保存当前的流量总和和上次的时间戳 mLastTotalUp = currentTotalTxBytes lastTimeStampTotalUp = nowTimeStampTotalUp return totalUpSpeed } //获取总的下行速度 fun getTotalDownloadSpeed() : Float{ val currentTotalRxBytes = TrafficStats.getTotalRxBytes() val nowTimeStampTotalDown = System.currentTimeMillis() mCurrentTotalDown = currentTotalRxBytes - mLastTotalDown //计算下行速度 totalDownSpeed = BigDecimal((mCurrentTotalDown/1024)*1000 / ((nowTimeStampTotalDown-lastTimeStampTotalDown)*1.0)).setScale(defaultPointAmount,BigDecimal.ROUND_HALF_UP).toFloat() //单位: KB/s //保存当前的流量总和和上次的时间戳 mLastTotalDown = currentTotalRxBytes lastTimeStampTotalDown = nowTimeStampTotalDown return totalDownSpeed } //获取指定进程的上行速度 fun getUpSpeedByUid(uid : Int) : Float{ val currentTxBytes = TrafficStats.getUidTxBytes(uid) val nowTimeStampUp = System.currentTimeMillis() mCurrentUp = currentTxBytes - mLastUp //计算上传速度 upSpeed = BigDecimal((mCurrentUp/1024)*1000 / ((nowTimeStampUp-lastTimeStampUp)*1.0)).setScale(defaultPointAmount,BigDecimal.ROUND_HALF_UP).toFloat() //单位: KB/s //保存当前的流量总和和上次的时间戳 mLastUp = currentTxBytes lastTimeStampUp = nowTimeStampUp return upSpeed } //获取总的下行速度 fun getDownloadSpeedByUid(uid: Int) : Float{ val currentRxBytes = TrafficStats.getUidRxBytes(uid) val nowTimeStampDown = System.currentTimeMillis() mCurrentDown = currentRxBytes - mLastDown //计算下行速度 //downSpeed = numberFormat.format((mCurrentDown/1024)*1000 / ((nowTimeStampDown-lastTimeStampDown).toFloat()) ) //单元为 KB/s downSpeed = BigDecimal((mCurrentDown/1024)*1000 / ((nowTimeStampDown-lastTimeStampDown)*1.0)).setScale(defaultPointAmount,BigDecimal.ROUND_HALF_UP).toFloat() //单位: KB/s //保存当前的流量总和和上次的时间戳 mLastDown = currentRxBytes lastTimeStampDown = nowTimeStampDown return downSpeed } }
以上就是H5游戏源码Android端获取网速上下行速度的相关代码, 更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现