Я иногда получаю OutOfMemoryError
при размещении большого файла на Android. Это код, который я использую. Я делаю что-то неправильно?Публикация большого файла на Android
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setDoInput(true);
con.setDoOutput(true);
ostream = new DataOutputStream(con.getOutputStream());
byte[] buffer = new byte[1536];
int count;
while ((count = fileInput.read(buffer)) != -1) {
ostream.write(buffer, 0, count); // This sometimes causes OutOfMemoryError
}
ostream.flush();
бы вызова ostream.flush()
внутри цикла while
никакой пользы?
Возможно, вы используете слишком много памяти – Falmarri 2010-12-15 21:22:46
Как я могу использовать меньше, чтобы сделать это? – hpique 2010-12-15 21:24:57
попробуйте уменьшить размер вашего буфера. – Ramp 2010-12-15 21:26:12