Я получаю gziped JSON из веб-службы, а затем я разархивирую его (размер unziped JSON составляет 3,2 МБ). Мне нужно преобразовать полученный InputStream в String, чтобы затем создать JSONObject и проанализировать его. Я делаю это с помощью этого кода:
public static String InputStreamToString(InputStream in)
throws IOException {
BufferedInputStream bis = new BufferedInputStream(in);
ByteArrayOutputStream buf = new ByteArrayOutputStream();
int result = bis.read();
while(result != -1) {
byte b = (byte)result;
buf.write(b);
result = bis.read();
}
return buf.toString();
}
Я получаю java.lang.OutOfMemoryError в последней строке: "return buf.toString();" на эмуляторе и устройстве с 288MB Ram.
Что мне делать?