HttpResponseCache不缓存文件

时间:2013-02-27 12:25:17

标签: android caching httpresponsecache

我正在尝试使用HttpResponseCache缓存此文件:http://media.admob.com/sdk-core-v40.js。基本上我调用getFileFromUrl函数两次,这样它第一次从Internet获取资源,第二次从缓存中获取资源。

但是,对于这两种方法,它都会出现此错误:“资源未缓存!java.io.FileNotFoundException:http://media.admob.com/sdk-core-v40.js”。这是否意味着文件没有被缓存而且无法访问它?代码有什么问题?

enableHttpCaching();

getFileFromURL(url);
getFileFromURL(url);


public static void getFileFromURL(String src) {
     try {
            URL url = new URL(src);
            HttpURLConnection connection=(HttpURLConnection)url.openConnection();
            connection.setUseCaches(true);
            connection.addRequestProperty("Cache-Control", "only-if-cached" );        
            InputStream input = connection.getInputStream();
            System.out.println("The resource was cached!");
        }catch (FileNotFoundException e) {
            System.out.println("The resource was not cached!" + e);
        }catch (IOException e) {
            e.printStackTrace();
        }
    }

1 个答案:

答案 0 :(得分:1)

从它看起来,这不是缓存,因为响应文件有

Cache-Control:max-age=0