Tesis 1.0.0
Loading...
Searching...
No Matches
ImageCacheManager.java
Go to the documentation of this file.
1package com.example.food_front.utils;
2
3import android.content.Context;
4import android.util.Log;
5
6import com.bumptech.glide.Glide;
7
8import java.io.File;
9import java.util.concurrent.ExecutorService;
10import java.util.concurrent.Executors;
11
15public class ImageCacheManager {
16
17 private static final String TAG = "ImageCacheManager";
18
22 public static void clearGlideCache(final Context context) {
23 try {
24 Log.d(TAG, "Limpiando caché de Glide...");
25 // Ejecutar en un hilo secundario para no bloquear UI
26 ExecutorService executor = Executors.newSingleThreadExecutor();
27 executor.execute(new Runnable() {
28 @Override
29 public void run() {
30 try {
31 // Limpiar memoria caché
32 Glide.get(context.getApplicationContext()).clearMemory();
33
34 // Limpiar caché de disco (debe ejecutarse en un hilo secundario)
35 Glide.get(context.getApplicationContext()).clearDiskCache();
36 Log.d(TAG, "Caché de Glide limpiada con éxito");
37 } catch (Exception e) {
38 Log.e(TAG, "Error al limpiar caché: " + e.getMessage());
39 }
40 }
41 });
42 } catch (Exception e) {
43 Log.e(TAG, "Error al iniciar limpieza de caché: " + e.getMessage());
44 }
45 }
46
50 public static void removeFileFromCache(Context context, String url) {
51 try {
52 Log.d(TAG, "Intentando eliminar archivo de caché: " + url);
53 File cacheDir = Glide.getPhotoCacheDir(context);
54 if (cacheDir != null && cacheDir.exists()) {
55 // Eliminar archivos que podrían contener la URL
56 for (File file : cacheDir.listFiles()) {
57 if (file.getName().contains(url.hashCode() + "")) {
58 boolean deleted = file.delete();
59 Log.d(TAG, "Archivo " + file.getName() + " eliminado: " + deleted);
60 }
61 }
62 }
63 } catch (Exception e) {
64 Log.e(TAG, "Error al eliminar archivo de caché: " + e.getMessage());
65 }
66 }
67}
static void removeFileFromCache(Context context, String url)
static void clearGlideCache(final Context context)