1
私はいくつかのJSONレスポンス文字列をキャッシュに入れようとしていますし、期限が切れる時期も知っています(アプリケーションは私のWebサービスと通信しています)。私はどこか(キー= URL、値= {JSONコンテンツ+は日付を期限切れ})キーと値のペアを格納したい、と私は、これらのオプションを持っていると思う:getCacheDir(によって取得キャッシュフォルダ内AndroidアプリでJSONをどのくらいキャッシュすればよいですか?
- 店) - ドキュメントキャッシュファイルで消費するスペースの量には、1MBなどの妥当な最大値を常に設定する必要があります。
- SDカードのフォルダに保存します(どのフォルダですか?/sdcard/.temp?)ここで合理的です4 MB? 16 MB
- SQLiteデータベースに格納 - ここでは、内部ストレージの1 MBの制限もOKで、SDカードのサイズはどのくらいですか?
または、ユーザーがキャッシュの場所とサイズを選択できるように、アプリの環境設定のどこかにコンボボックスを配置する必要がありますか?
でも、応答は平均6.5 kbの大きさですが、50 kbほどのものもあります。 JSONを* java.util.zip * -pedすれば、内部ストレージに約4MB相当のものを入れることができます。 – Axarydax
4MBの圧縮されたJSONデータでさえ私には大変なようです。キャッシュがどれくらい大きなものを保持しようとしているかを選ぶことができるように、ユーザーの好みを追加するといいでしょう。つまり、Googleの提案ごとに1MB、またはあなたが言うように4MBです。各レスポンスには有効期限がありますが、キャッシュを小さくして管理しやすいように、有効期限が切れる前にキャッシュから古いデータを削除することをお勧めします。これは、すべてのキャッシュされたファイルを作成日順に並べ、累積サイズが指定された量を下回るまで古いものを1つずつ削除することによって行うことができます。 – Dave
いいえ、4 MBの意味では、1 MBの内部ストレージにGZIPを搭載した4 MBのJSONをパックできます。キャッシュは、あなたが言うように、制限を守るために最も古い(アクセスによる)エントリを削除することで回転します。 – Axarydax