@Override public synchronized void onProgress(int progress) { // 已下载大小 totalProgress += progress; info.progress = totalProgress; info.currentBytes = totalProgress; // 计算下载速度 long totalTime = (System.currentTimeMillis() - mPreviousTime) / 1000; if (totalTime == 0) { totalTime += 1; } long networkSpeed = totalProgress / totalTime; info.networkSpeed = networkSpeed; long currentTime = System.currentTimeMillis(); if (currentTime - lastTime > 1000 || totalProgress == info.totalBytes) { // LogUtils.e(info.appName + " 下载进度:" + totalProgress); try { mDLInfoDao.update(info); } catch (SQLException e) { e.printStackTrace(); } if (info.hasListener) info.listener.onProgress(info); EventBus.getDefault().post(info, "onProgress"); lastTime = currentTime; } }