Downloader: Notify the progress every 64K instead of every 512 Bytes
This improves downloading performance dramatically when cpu bound: Before, even a high-end cpu from 2013 can't download faster than around 1MB/s. The bigger read buffer size removes the need for a dedicated BufferedInputStream.
This commit is contained in:
parent
c796fe1fe6
commit
6ea0f6290a
1 changed files with 3 additions and 4 deletions
|
@ -2,7 +2,6 @@ package us.shandian.giga.get;
|
|||
|
||||
import android.util.Log;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.RandomAccessFile;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
|
@ -104,11 +103,11 @@ public class DownloadRunnable implements Runnable {
|
|||
|
||||
RandomAccessFile f = new RandomAccessFile(mMission.location + "/" + mMission.name, "rw");
|
||||
f.seek(start);
|
||||
BufferedInputStream ipt = new BufferedInputStream(conn.getInputStream());
|
||||
byte[] buf = new byte[512];
|
||||
java.io.InputStream ipt = conn.getInputStream();
|
||||
byte[] buf = new byte[64*1024];
|
||||
|
||||
while (start < end && mMission.running) {
|
||||
int len = ipt.read(buf, 0, 512);
|
||||
int len = ipt.read(buf, 0, buf.length);
|
||||
|
||||
if (len == -1) {
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue