将大型 JSON(输入流)放入字符串时出现内存不足错误
2022-09-03 02:50:47
我从Web服务收到gziped JSON,然后解压缩它(解压缩JSON的大小为3.2MB)。我需要将收到的输入流转换为字符串,以便我可以创建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:“返回buf.toString();”在模拟器和设备上具有288MB Ram。
我该怎么办?