2012年3月22日木曜日

JSONIC EVO3Dで なんか重いよ

ATNDの検索APIで取得したデータのデコードにJSONICを使っていた。
ずっとGalaxy Nexusでデバッグしていて問題なかったのだが、
EVO3Dで動かしてみたら極端に重い。

GNならば1秒未満で終わる処理が、
EVO3Dでは約13秒もかかる。

一応明言しておくと、測定は
JSON.decode(str, EventsResult.class);
の前後に入れたLog.dのタイムスタンプの差分で計測。
決してhttp getの時間は入っていない。

うーんなんだろう。なんか気になる。
EVO3Dって ADW.Launcherのドロワーが重かったりするから、特定の処理に弱いとかあるのかな。不思議。(無料版の話、Exは問題なく動いている)

で、回避策としてgsonを使ってみた。
無事EVO3Dでも1秒未満(大体200ms未満)でデコードが完了できることが確認できた。

測定結果(ざっくり)
Galaxy Nexus × gson ・・・・   200ms以下
EVO3D × gson ・・・・・・・ 200ms以下
Galaxy Nexus ×  JSONIC ・・・ 200ms以下
EVO3D × JSONIC ・・・・  13000ms程度 ← なぜ?

0 件のコメント:

コメントを投稿