2016-10-07 5 views
0

私はユーザーのアプリケーションのグライドライブラリです。ログアウト処理中に、Glideによって行われたすべてのイメージキャッシュ(ディスクとメモリ)を完全にクリアしたい。Glide:AppがログアウトしたときにすべてのAppキャッシュ(画像)をクリアするには?

ログアウトプロセスはジョブ(私はこのライブラリを使用しましたandroid-queue)によって行われます。

は、私はこれらの行呼びたい:

Glide.get(MyApplication.getInstance()).clearMemory(); 
Glide.get(MyApplication.getInstance()).clearDiskCache(); 

私はこれらの行が(メインではないスレッドを実行しているスレッドに関するいくつかの問題を持っているが、私はハンドラを使用している場合、この他のエラーはあなたがこのメソッドを呼び出す必要があります表示されますバックグラウンドスレッドなど)

ありがとうございました!

+0

がエラーを投稿してください:あなたは、このコードを呼び出しているとまったく同じ場所にこのコードを配置することができます

public static void deleteCache(Context context) { try { File dir = context.getCacheDir(); deleteDir(dir); } catch (Exception e) {} } public static boolean deleteDir(File dir) { if (dir != null && dir.isDirectory()) { String[] children = dir.list(); for (int i = 0; i < children.length; i++) { boolean success = deleteDir(new File(dir, children[i])); if (!success) { return false; } } return dir.delete(); } else if(dir!= null && dir.isFile()) { return dir.delete(); } else { return false; } } 

メッセージはあなたのlogcatを形成する – LoveForDroid

答えて

0

あなただけのアプリケーションのキャッシュをクリアしたい場合は、次のコードを使用することができます

Glide.get(MyApplication.getInstance()).clearMemory(); 
Glide.get(MyApplication.getInstance()).clearDiskCache(); 
+0

はい、グローバルなクリアメモリですか? – anthony

+0

このコードはアプリのキャッシュ全体をクリアします。私はあなたが探していることをthatsと思いますか?あなたはあなたのアプリのコンテキストをdeleteCache()に渡さなければなりません – LoveForDroid

+0

私はGlideによって管理されているキャッシュだけをクリアしたいと思います。 – anthony

関連する問題