2016-10-07 4 views
0

I 사용자 글라이드 라이브러리 내 응용 프로그램에서. 로그 아웃 과정에서 Glide가 수행 한 모든 이미지 캐시 (디스크 및 메모리)를 완전히 지우고 싶습니다.글라이드 : 앱이 로그 아웃 할 때 모든 앱 캐시 (이미지)를 삭제하는 방법은 무엇입니까?

로그 아웃 프로세스는 Job (이 라이브러리를 사용했습니다 : 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

이 코드는 앱의 전체 캐시 만 지 웁니다. 나는 당신이 찾고있는 것 같아요? 앱 컨텍스트를 deleteCache()에 전달해야합니다. – LoveForDroid

+0

Glide에서 관리하는 캐시 만 지우고 싶습니다. – anthony

관련 문제