При десериализации массива JSON происходит сбой виртуальной машины Dalvik - PullRequest
1 голос
/ 08 апреля 2010

У меня есть код, собирающий массив JSON с моего сервера и изначально сохраняющий его в виде строки.Все это прекрасно работает, пока я не попытаюсь десериализовать его с помощью метода gson gJ 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 Ответ

0 голосов
/ 08 апреля 2010

Возможно, вы столкнулись со следующей открытой проблемой: http://code.google.com/p/android/issues/detail?id=6245.

Предполагается, что стек кратковременно расширяется, пока ошибка StackOverflowError обрабатываются, а затем сжимаются обратно вниз. Проблема в том, что исключение выбрасывается во время обработки SOE, и мы пытаемся уменьшить стек когда закончится второе исключение, вместо того, чтобы ждать, пока мы завершим Сама SOE.

Во время восстановления SOE также происходит достаточно, чтобы дополнительные 512 байт стека недостаточно, и он столкнется с двойной SOE.

Насколько велик JSON, который вы пытаетесь десериализовать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...