У меня есть приложение, которое загружает ZIP-файл, а затем копирует этот файл во временный файл на SD-карте телефона, но оно очень и очень медленное.
InputStream in = new BufferedInputStream(url.openStream(), 1024);
File tempFile = File.createTempFile("arc", ".zip", targetDir); //target dir is a file
String tempFilePath = tempFile.getAbsolutePath();
OutputStream out = new BufferedOutputStream(new FileOutputStream(tempFile));
//copying file (in different void)
byte[] buffer = new byte[8192];
int len;
len = in.read(buffer);
enter code here
//it loops here for AGES
while (len >= 0) {
out.write(buffer, 0, len);
len = in.read(buffer);
}
in.close();
out.close();
Мой файл занимает около 20 МБ, изначально у меня был размер буфера 1024, и я изменил его на 8192, думая, что это может ускорить его, но, похоже, это не имеет значения? Я всегда заканчиваю, и я не получаю ошибок, это просто занимает много времени!
Я искал, чтобы попытаться найти решение, но я ничего не придумываю, так что я могу поступить совершенно неправильно?
Кто-нибудь может увидеть, что я делаю не так?
Бекс