JSON 数组反序列化使 Dalvik VM 崩溃

Posted

技术标签:

【中文标题】JSON 数组反序列化使 Dalvik VM 崩溃【英文标题】:JSON array deserialization is crashing the Dalvik VM 【发布时间】:2011-02-05 14:27:39 【问题描述】:

我有一些代码从我的服务器中抓取一个 JSON 数组,并最初将它存储为一个字符串。这一切都很好,直到我尝试使用谷歌的 gson fromJson 方法对其进行反序列化。 LogCat 吐出错误:

04-08 17:46:35.163: ERROR/dalvikvm(401): Can't shrink stack: curFrame is in reserved area (0x41049000 0x410491c4)

导致错误的代码是:

String[] results = gson.fromJson(returnString, String[].class);

谁能解释我做错了什么?

干杯, 山姆

【问题讨论】:

【参考方案1】:

您可能会遇到以下未解决的问题:http://code.google.com/p/android/issues/detail?id=6245。

堆栈应该在 ***Error 发生时短暂扩展 被处理,然后收缩回来。问题是一个例外是 在 SOE 处理期间被抛出,我们正在尝试缩小堆栈 当第二个异常结束时,而不是等到我们结束 国有企业本身。

在 SOE 恢复期间还有足够多的额外 512 字节堆栈 还不够,还会遇到双国企。

您尝试反序列化的 JSON 有多大?

【讨论】:

以上是关于JSON 数组反序列化使 Dalvik VM 崩溃的主要内容,如果未能解决你的问题,请参考以下文章

反序列化 Json 出现错误“无法反序列化当前 JSON 数组”

使用C# json 二维数组 反序列化

怎么过滤JSON数组中反斜杠“”,反序列化

JSON PHP中,Json字符串反序列化成对象/数组的方法

使属性反序列化但不使用 json.net 序列化

Json数组反序列化