Android XML Pull解析器中的OutOfMemory错误

时间:2012-11-13 14:17:51

标签: android xml-parsing

我从HTTPResponse解析XML文档。 以前我使用从InputStream创建的String对象启动了解析器。

当我更改设置以便inputStream直接在解析器中使用时,我得到了OutOfMemory Exceptions。

奇怪的是,解析String之前没有问题,所以我想知道为什么InputStream需要更多的内存。

上一个代码:

final byte[] encodedResponseBytes = IOUtils.toByteArray(httpResponse
            .getEntity().getContent());

String message = new String(encodedResponseBytes);

parser.setInput(new StringReader(message));

新代码:

InputStream stream = httpResponse
            .getEntity().getContent();
parser.setInput(stream, null);

1 个答案:

答案 0 :(得分:0)

通过更改代码我不再有问题了:

InputStream stream = request.getResponseStream(); reader = new InputStreamReader(stream); this.xmlParser.setInput(reader);