【发布时间】:2013-01-28 14:25:36
【问题描述】:
我收到了巨大的 JSON,当我阅读 OutOfMemoryError 时出现。
这是我尝试解析 JSON 的第一个方法。
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"), 8);
String result = "";
while (true) {
String ss = reader.readLine();
if (ss == null) {
break;
}
result += ss;
}
我也试过这个方法。
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ( (line = reader.readLine()) != null)
{
sb.append(line);
}
在这两种情况下,OutOfMemoryErorr 都会出现。
【问题讨论】:
-
您是否尝试过使用android标准解决方案来解析JSON文件? developer.android.com/reference/org/json/package-summary.html,也可以看看JsonReader:developer.android.com/reference/android/util/JsonReader.html
-
传入数据的大小是多少?
-
每个对象大约 10mb,在 JSON 中有超过 20 个对象,这是 10mb,因为我得到的是 base64..
-
我已经尝试过标准 JSON 解析器,但它们无法正常工作。
标签: android out-of-memory