2

私の Android アプリでは、ネットワーク トラフィックをできるだけ低く抑えたいと考えています (もちろん)。私はHttpResponseCacheを認識していますが、API >= 13 でのみ機能するため、私にとってはオプションではありません。

LruCacheを使用して、RESTUrl をキーとして使用することを考えました(POSTデータがない場合)。サーバーからの応答を取得すると ( JSON)、すぐに POJO を作成しGsonます。

  • 値として使用する方が良いものは何ですか? 文字列、次にJSONそれを再度デシリアライズするかGson、s を保存しPOJOますか? デシリアライズには少し CPU 時間がかかることはわかっていますが、POJOs をキャッシュに保存することにはマイナス面があるのではないでしょうか?

  • POJO呼び出された「製品」(サーバーから取得したもの)のコンテンツを表示するアクティビティがあるとしますJSONPOJO向きが変わったとき、製品を (経由などで)保持することを忘れることはできsavedInstanceStateますか?

  • オブジェクトの種類ごとに個別のキャッシュを用意するか、1 つの大きなキャッシュのみを使用する方がよいでしょうか?

  • キャッシュの適切なサイズを決定する方法に関するアドバイス (MiBエントリ数またはエントリ数のみ)

4

1 に答える 1

2

Android の RESTful パターンに関する Virgil Dobjanschi の Google I/O 2010 トークから始めるのが良いでしょう: http://www.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html

簡単に言えば、彼は SQLite を使用して HTTP リクエストの状態を追跡し、データをキャッシュしてリクエストを最小限に抑えることを提唱しています。ここでサンプル実装を見つけましたが、その講演で概説されているパターンに関するその他のリソースを検索することをお勧めします。

最初にこれに答えて以来、HTTP リクエストのキャッシングを処理する Android 用の優れたオープン ソース ライブラリがいくつか存在するようになりました。 OkHttpVolleyは確実な選択肢の 2 つです。

于 2013-06-27T14:46:55.517 に答える