Как использовать CacheManager Android?

Я в настоящее время разрабатываю приложение Android, которое выбирает изображения с помощью запросов HTTP. Это была бы вполне выпуклость, если я мог бы кэшировать те изображения для улучшения к использованию пропускной способности и производительности.

Я столкнулся с классом CacheManager в ссылке Android, но я действительно не знаю, как использовать его, или что это действительно делает.

Я уже определил объем через этот пример, но я нуждаюсь в некоторой помощи, понимая это:

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

Кроме того, ссылочные состояния:

"Сетевые запросы предоставляются этому компоненту и если они не могут быть разрешены кэшем, HTTP-заголовки присоединяются, как соответствующие, к запросу на придание вновь юридической силы содержания".

Я не уверен, что это означает или как это работало бы на меня, так как getCacheFile CacheManager принимает только Строковый URL и Карту, содержащую заголовки. Не уверенный, что вложение упомянуло средства.

Объяснение или простой пример кода действительно сделали бы мой день. Спасибо!

Обновление

Вот то, что я имею прямо сейчас. Я ясно делаю его неправильно, просто не знайте где.

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;
    }

11
задан punnie 13 January 2010 в 20:05
поделиться

1 ответ

Я не думаю, что CacheManger можно использовать вне WebView, как указано в этом отчете об ошибке http://code.google.com/p/android/issues/detail?id = 7222

10
ответ дан 3 December 2019 в 09:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: