パフォーマンスを向上させるために、標準のAndroid JSONパーサーを交換しますか?
質問
AndroidにはJSONパーサーが焼かれていることは知っていますが、より良いパフォーマンスを提供するものを使用する価値があるかどうか疑問に思っていました(ジャクソンのように - 参照 http://jackson.codehaus.org/)?誰かがそれを試しましたか?
解決
さて、ここにあります カップル の リンク Jackson JSONのパフォーマンスを既存のJSON、SAX、およびプロトコルバッファーと比較します。著者によると、ジャクソンはSAXや組み込みのJSONよりも高速で、プロトコルバッファーと同等です。その最後の部分は少し疑わしいように聞こえますが、それにもかかわらず、それは確かにJacksonがAndroidで働いているように見え、いくつかの実験の価値があるかもしれません。
ただし、瓶のサイズをチェックしていません。それが巨大であれば、あなたが追加のJSONパフォーマンスを求めて死にかけていない限り、それはスペースヒットする価値がないかもしれません。
他のヒント
API 11以来、aがあります ストリームJSONパーサー Androidで
遅い答えですが、それはまだ役立つかもしれません。私はTwitterからJsonを解析するためにJacksonを使用しています。 Maps
データベースに。ジャクソンのデータマッピングは素晴らしいです。 JSONをオブジェクトに直接マッピングできることは素晴らしいことであり、すべてをクリーナーにします。
単純な返信のみを解析している場合でも、データマッピングはコードをクリーンにする(そしてより効率的)するのに役立つ場合があります。私にとっては、あらゆるタイプのTwitter API関数について解析ロジックを書く必要がないのはGodSendです。
これらのパーサーに関するもう1つの視点。私は2009年にGoogle IOを調べていましたが、アプリ開発者向けのバッテリーの効率的な使用について本当に素晴らしい話があります。
これがその話へのリンクです: リンク
現在、Androidのトークが組み込まれたパーソンはツリーベースであり、これらはバッテリー寿命に関しては非効率的であると想定されています。誰かが本当にこれを調べましたか。
この議論を読むと、ジャクソンパーサーはすべての勝者のようです。バッテリーの使用に関して優れているツリーベースとは対照的に、組み込まれたものとそのイベント/ストリームベースに基づいて、そのイベント/ストリームベースのイベント/ストリームベースもほぼ同等に速くなります。
ただし、私はこれについて共有して意見を聞きたいと思っていました。
Jackson Jsonを使用して、JSON-RPCを介してサーバーと通信するAndroidアプリケーションを実装しています。私はそれを使用してJSON-RPCリクエストと応答とオブジェクトをシリアル化/脱必要にして、データを転送します。 2.0バージョンのJackson-Jsonを使用しています。私はビルドパスに2つの瓶を入れました:Jackson-Databind-2.0.0.jar、Jackson-Core-2.0.0.jar、Jackson-Annotations-2.0.0.jar。
サイドノート:AndroidのJSON-RPC実装はありますか。別々のJSON-RPCとHTTPトラフィックが良いでしょう。私はたくさんグーグルで検索しました、BUは良いJSON-RPCジェネレーター、JSONシリアイザー /デセリアライザーを見つけていません。輸送のためにAndroid-Queryと一緒に行きます。