[解決済み] Glideライブラリのキャッシュから画像を削除する
2023-04-14 14:40:16
質問
私は、ファイルから画像を表示するために、あるプロジェクトでGlideを使っています。
以下は、私がどのように画像を表示しているのかのコードです。
Glide.with(DemoActivity.this)
.load(Uri.parse("file://" + imagePath))
.into(mImage);
この場所の画像(
imagePath
)の画像は常に変化しています。Glideのデフォルトでは、画像は
ImageView
. このため、Glideはその場所に新しい画像がある場合、キャッシュから最初に表示される画像を表示していました。
もし、その位置の画像を
imagePath
にある画像を同じ名前の他の画像に変更すると、Glideは新しい画像ではなく、最初の画像を表示します。
2つのクエリです。
-
キャッシュではなく、常にファイルから画像を取得することは可能でしょうか?そうすれば問題は解決します。
-
新しく置き換えられた画像を取得する前に、キャッシュから画像をクリアすることは可能でしょうか?これも問題解決になります。
どのように解決するのですか?
これは、私がこの問題を解決した方法です。
方法1:画像が変わるたびにURLが変わる場合
Glide.with(DemoActivity.this)
.load(Uri.parse("file://" + imagePath))
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
.into(mImage);
diskCacheStrategy()でディスクキャッシュを処理し、skipMemoryCache()メソッドでメモリキャッシュをスキップすることが可能です。
方法2:URLは変わらないが、画像が変わってしまう場合
URLが一定であれば、画像キャッシュにSignatureを使用する必要があります。
Glide.with(yourFragment)
.load(yourFileDataModel)
.signature(new StringSignature(yourVersionMetadata))
.into(yourImageView);
Glide signature()は、キャッシュキーに追加データを混ぜる機能を提供します。
-
を使用することができます。
MediaStoreSignature
は、メディアストアからコンテンツを取得する場合に使用します。MediaStoreSignature
を使うと、メディアストアアイテムの日付修正時刻、MIME タイプ、 方向をキャッシュキーに混ぜることができます。これらの 3 つの属性は、編集や更新を確実にキャッチし、メディア ストアのサムネイルをキャッシュすることができます。 -
あなたは
StringSignature
として保存されたコンテンツにも、ファイルの更新日時を混在させることができます。
関連
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] ウェブサイト制作のためのChromeキャッシュの無効化
-
[解決済み] グリッドレイアウトにおけるフリングジェスチャーの検出
-
[解決済み] Eclipseが起動できない - Javaは起動したが終了コード=13を返した
-
[解決済み] クライアントにJavaScriptファイルを強制的に更新させるには?
-
[解決済み] APKが署名済みかデバッグビルドかを確認するには?
-
[解決済み] EditTextをReadOnlyにする
-
[解決済み] アダプタからActivityメソッドを呼び出す
-
[解決済み] AsyncTaskLoaderとAsyncTaskの比較
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AndroidにおけるViewPager2の適切な実装
-
[解決済み] Eclipseでのandroid:configChangesでのAdmobエラー
-
[解決済み] Android ConstraintLayout - あるビューを別のビューの上に配置する
-
[解決済み] Android Navigation Architecture Component - 現在表示されているフラグメントを取得する
-
[解決済み] データベースでリサイクルビューを使用する
-
[解決済み] AsyncTaskを複数回実行する
-
[解決済み] フラグメント間の値の受け渡し方法
-
[解決済み] edittextのテキストがメールアドレスかどうかを確認するには?
-
[解決済み] BottomNavigationViewを新しいNavControllerで使用する際に、フラグメントを生かす方法はありますか?
-
[解決済み] Androidでツールバーの戻るボタンの色を変えるには?