标题有点含糊不清,但我的意思是:
InputStream is = connection.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
String line;
JSONArray ja = new JSONArray();
while((line = rd.readLine()) != null) {
ja = new JSONArray(line);
}
rd.close();
return ja;
}
如果rd.readLine()返回大量数据,我该如何拆分或限制它?我得到了一个错误的错误。
答案 0 :(得分:2)
我建议在Android上使用Jackson JSON库进行JSON解析。它是最快的,并且最有可能处理其代码中内置的大量JSON。
答案 1 :(得分:1)
您是否尝试过增加java堆大小(-Xmx)?默认值可能非常小。
答案 2 :(得分:1)
我看到两个选项 1)将其作为App的一部分存储,方法是将其添加到assests中 2)重新设计您的数据。大多数情况下,您在此单个调用中检索的数据在该特定时间可能没有用。我建议根据需要拆分数据检索。由于Dalvik VM你没有增加堆大小的选项,所以你必须考虑这些OutofMemoryError中出现的替代方案。