Jak korzystać z CacheManagera Androida?

Obecnie opracowuję aplikację na Androida, która pobiera obrazy za pomocą żądań http. Byłoby całkiem głośno, gdybym mógł buforować te obrazy w celu poprawy wydajności i wykorzystania przepustowości.

Natknąłem się na klasę CacheManager w odwołaniu do Androida, ale tak naprawdę nie wiem, jak z niej korzystać ani co ona naprawdę robi.

Przejrzałem już ten przykład, ale potrzebuję pomocy, aby go zrozumieć:

/core/java/android/webkit/gears/ApacheHttpRequestAndroid.java

Ponadto w odwołaniu podano:

„Żądania sieciowe są dostarczane do tego komponentu i jeśli nie mogą być rozwiązane przez pamięć podręczną, nagłówki HTTP są dołączane, odpowiednio, do żądania ponownego zatwierdzenia treści”.

Nie jestem pewien, co to oznacza lub jak to działa dla mnie, ponieważ getCacheFile CacheManager akceptuje tylko URL String i Mapę zawierającą nagłówki. Nie wiem, co oznacza wspomniany załącznik.

Wyjaśnienie lub prosty przykład kodu naprawdę spełniłby mój dzień. Dzięki!

Aktualizacja

Oto, co mam teraz. Wyraźnie to robię źle, po prostu nie wiem gdzie.

public static Bitmap getRemoteImage(String imageUrl) {
        URL aURL = null;
        URLConnection conn = null;
        Bitmap bmp = null;

        CacheResult cache_result = CacheManager.getCacheFile(imageUrl, new HashMap());

        if (cache_result == null) {
            try {
                aURL = new URL(imageUrl);
                conn = aURL.openConnection();
                conn.connect();
                InputStream is = conn.getInputStream();

                cache_result = new CacheManager.CacheResult();
                copyStream(is, cache_result.getOutputStream());
                CacheManager.saveCacheFile(imageUrl, cache_result);
            } catch (Exception e) {
                return null;
            }
        }

        bmp = BitmapFactory.decodeStream(cache_result.getInputStream());
        return bmp;
    }

questionAnswers(2)

yourAnswerToTheQuestion