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 件のコメント:
コメントを投稿