2016-09-29 10 views
0

私はファイルシステムから読み込まれ、インターネットからではなく画像のみが読み込まれるギャラリーアプリケーションを構築しています。ファイルシステムに対する読み書きには違いがあるかどうか知りたいDiskLRUCache (JakeWharton)。もしそうなら、キャッシュディレクトリからSDカード/内部ファイルシステムにストレージディレクトリを変更することで、ストレージに "DiskLRUCache"を使用できますか?ありがとう読み込み/書き込みパフォーマンス:DiskLruCacheとファイルシステム

+0

メモリへの読み出し/書き込みは、ファイルシステムの前進を確実にしています。ビットマップの作成とgcがあまりにも頻繁に行われないようにするには、メモリキャッシュを使用する必要があります。 – Bennyhuo

+0

私はメモリキャッシュについて理解していますが、ディスク自体に格納されている "DiskLRuCache"について質問しています。私があなたの答えを正しく理解すれば。 –

+0

ああ、申し訳ありませんが、私はあなたの質問を誤解しました。 – Bennyhuo

答えて

0

getExternalFilesDirsから取得したディレクトリに読み書きすると(STORAGE権限は必要ありません)、すべて同じです。私は現在、その方法を使用して、DiskLRUCacheで使用できるディレクトリを取得しています。アクセスが遅れてUIが遅くなるので、インメモリキャッシュも使用します。

考えられるのは、DiskLRUCacheを使ってビットマップをディスクに保存し、最近アクセスしたギャラリーアイテムをLruCacheに保存することです。

LruCache(メモリキャッシュ)からオブジェクトをフェッチし、見つからなければ、ディスク(DiskLRUCache)から読み込み、メモリ内のキャッシュオブジェクトに配置します。このロジックの素晴らしいラッパーを作成すると、そのロジックと直接接続する必要があります。

関連する問題