Я пытаюсь загрузить файл в Amazon S3, используя HttpUrlConnection и метод put.
outputStream = new DataOutputStream( connection.getOutputStream() );
bytesAvailable = fileInputStream.available();
int current = 0;
bufferSize = Math.min(bytesAvailable, maxBufferSize);
buffer = new byte[bufferSize];
// Read file
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
while (bytesRead > 0)
{
outputStream.write(buffer, 0, bufferSize);
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
current+=bytesRead;
}
Это правильный способ использования буфера для вывода данных?Все это прекрасно работает для файлов меньшего размера, но когда я пытаюсь загрузить что-то большее, оно говорит:
02-11 19:04:38.718: INFO/dalvikvm-heap(15385): Grow heap (frag case) to 9.204MB for 3143696-byte allocation
что я делаю неправильно?любая помощь высоко ценится, спасибо.