предупреждение о размере кучи при загрузке файла с использованием URL-соединения - PullRequest
1 голос
/ 11 февраля 2011

Я пытаюсь загрузить файл в 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

что я делаю неправильно?любая помощь высоко ценится, спасибо.

...