1

サーバーから JSON 配列を取得し、最初に文字列として保存するコードがあります。これは、Google の 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);

私が間違っていることに誰かが光を当てることができますか?

乾杯、サム

4

1 に答える 1

0

次の未解決の問題が発生している可能性があります: http://code.google.com/p/android/issues/detail?id=6245

スタックは、StackOverflowError の処理中に一時的に拡張し、その後縮小することになっています。問題は、SOE の処理中に例外がスローされ、SOE 自体が完了するまで待つのではなく、2 番目の例外が終了したときにスタックを縮小しようとしていることです。

また、SOE の回復中には、追加の 512 バイトのスタックでは不十分であり、二重 SOE が発生します。

逆シリアル化しようとしている JSON の大きさは?

于 2010-04-08T11:11:58.370 に答える