10

Android(SDK 7+)クラス用のシンプルなオープンソースの非コピーレフトキャッシングを探しています。

目的は、フェッチされたを非同期で保存することですBitmap(したがって、この機能をキャッシュクラスに含める必要はありません)。

私はこの目的のためにweakListを使用していましたが、これは当然悪い解決策であり、Guavaキャッシュは少し優れていますが、それでもうまくいきません。

Objectキャッシュは、だけでなく、シリアル化可能な任意のオブジェクトを格納できることBitmap、およびオブジェクトがキャッシュに追加されている間に使用される特定のタグのオブジェクトを簡単にパージできることが望ましいです。

最良のオプションは、sqliteデータベースをラップするようにファイルシステムキャッシュを取得することです。キャッシュがによってクリアされるといいですねSettings >Manage Application > Clear Cache

4

7 に答える 7

9

上記で提案されたプレーンなLruCacheは、メモリ内キャッシュです。あなたの質問から、あなたはディスクキャッシュソリューションを探しているように思えます。

キャッシングビットマップのAndroidトレーニングドキュメントのディスクキャッシュをお読みください。

次に、次のスレッドで説明されているDiskLruCacheの実装を見てください 。Android4.0でDiskLruCacheを使用しても、openCacheメソッドは提供されません。

GitHubでDiskLruCacheソースを取得できます。

于 2012-07-19T17:01:55.477 に答える
4

どうandroid.util.LruCacheですか?古いプラットフォームをサポートする必要がある場合は、プロジェクトにコピーするだけです。編集:それは実際にはcompat/supportライブラリにあります。

于 2012-07-18T02:09:36.043 に答える
3

ICSDiskLruCache.java。これは、ICS以降のバージョンのAndroidで利用可能なDiskLruCacheのポートであり、IO 2012 Androidアプリの一部としてGoogleによってオープンソース化されているため、(少なくとも)APIレベル7までのバージョンで動作します。

http://code.google.com/p/iosched/source/browse/android/src/com/google/android/apps/iosched/util/ICSDiskLruCache.javaでソースを検索します

于 2012-07-22T08:25:58.463 に答える
2

点火はあなたが探しているものです:https ://github.com/kaeppler/ignition 。これにより、画像、シリアル化されたオブジェクトをキャッシュできます。キャッシング部分については、点火サポートを使用してください

イグニッションサポートのAPIは次のとおりです:http://kaeppler.github.com/ignition-docs/ignition-support/apidocs/

于 2012-07-23T08:05:09.563 に答える
1

広く使用されており、以前はdroid-fuとして知られていた、リファクタリングされた非常に強力なイグニッションと呼ばれるlibを使用することをお勧めします。イグニッションライブラリは、主にQypeのMatthiasKäpplerリードモバイル開発者によって管理されています。ライブラリには、キャッシュフレームワークとRemoteImageウィジェット(およびより多くの便利なクラス)があります。さらに、Mavenに対応しているため、依存関係を簡単に追加できます。キャッシュjavadocを見てください:http: //kaeppler.github.com/ignition-docs/ignition-support/apidocs/

于 2012-07-17T15:45:23.353 に答える
1

この公式のAndroidドキュメントに従って、独自の画像キャッシュを作成できます。このドキュメントには、コードが記載されているだけでなく、その仕組みも説明されています。

http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html

また、ビットマップのロード、バックグラウンドスレッドでの処理、キャッシュ、表示までのプロセス全体についても説明します。

http://developer.android.com/training/displaying-bitmaps/index.html

于 2012-07-23T15:40:10.690 に答える