计算估计的剩余下载时间

Ser*_*kov 5 java android

我有一个从URL下载文件的代码.
我有两个参数来计算下载的所有时间:

Long start = System.nanoTime();
// downloading...
Long end = System.nanoTime();
Run Code Online (Sandbox Code Playgroud)

我需要测量下载结束时的估计剩余时间.我怎么能这样做?

Ser*_*kov 12

很简单,抱歉4你的时间.

对于未来的搜索者:

当您开始下载保存时间戳时:

Long startTime = System.nanoTime();
Run Code Online (Sandbox Code Playgroud)

计算平均剩余速度:

 Long elapsedTime = System.nanoTime() - startTime;
 Long allTimeForDownloading = (elapsedTime * allBytes / downloadedBytes);
 Long remainingTime = allTimeForDownloading - elapsedTime;
Run Code Online (Sandbox Code Playgroud)

  • 我可以建议你做一个移动平均线而不是整体平均线吗?比如,查看在5秒内下载了多少数据,并根据该速率确定估算值. (2认同)