2012-04-03 23 views
1

私は単純な質問があります。ウェブから何かをロードするときにURLConnection.setUseCaches(true)を使用すると、キャッシュされたファイルの有効期限はいつですか?私はアンドロイドのために開発していますが、ほとんど違いはありません...だから、いつSDカードからファイルを取り除くのですか?URLConnection.setUseCaches(true) - キャッシュの有効期限はいつですか?

答えて

1

This質問の答えは、URLConnection.setUseCaches(true)は効果がありません。

Neilは、内部で保存されたAndroidアプリ(電話機のメモリ)が/ data/data/packagename/cacheに保持されているコンテンツをキャッシュする方法についても説明します。元の質問に答えるが、この機能に適用するには、APIに記載されているように、自分のコンテンツを見直すことになっていますが、システムは最終的にこれらの領域を管理しています。

+0

getExternalCacheDir()とURLConnection.setUseCaches(true)を使用する必要があるすべてのファイルを保存すると、URLConnectionはどのファイルがどのURLに対応しているかを知ることができますか?または、これらのファイルを手動でロードする必要がありますか(URLConnection経由ではありません)。 –

+0

私はあなたが手動で何かする必要があると思う - 簡単な考え方は、URLのhashCode()を使用してファイルを命名し、それらが最初に存在するかどうかを確認することです。そうでない場合は、URLConnectionに戻ります。 –

+0

もう1つ言うことは、WebViewを使用している場合、これにはキャッシングオプションがいくつか組み込まれていることです。キャッシュは同じ場所にありますが、ある程度管理されています。車輪を再発明するよりもむしろそれを調べる。 –

4

接続のUseCachesフラグがの場合、接続にはどのようなキャッシュでも使用できますがfalseの場合、キャッシュは無視されます。デフォルト値はDefaultUseCachesから得られます。デフォルトではtrueです。**したがって、キャッシュを使用するには、独自にキャッシュを実装する必要があります。UseCachesフラグをtrueに設定すると、使用可能なキャッシュが使用可能になりますが、

関連する問題