如何使用已安装的HttpResponseCache

时间:2014-06-25 21:33:59

标签: android caching httpurlconnection httpresponsecache

我已经关注了developers guide并且通过在我的应用程序的onCreate()方法中包含以下代码来安装HttpResponseCache:

try {
  File httpCacheDir = new File(context.getCacheDir(), "http");
  long httpCacheSize = 10 * 1024 * 1024; // 10 MiB
  HttpResponseCache.install(httpCacheDir, httpCacheSize);
}   catch (IOException e) {
       Log.i(TAG, "HTTP response cache installation failed:" + e);      
}

现在,我在某个时候在此应用程序中启动了一个活动,并使用以下代码获取URL:

URL url = new URL("http://www.android.com/");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try {
  InputStream in = new BufferedInputStream(urlConnection.getInputStream());
  readStream(in);
} finally {
  urlConnection.disconnect();
}

当我获取URL以告诉它使用已安装的缓存时,是否必须执行某些操作?或者,在此应用程序中启动的任何活动是否会自动使用它?

例如,在this example code中,他们会调用connection.setUseCaches(true)。这有必要吗?

1 个答案:

答案 0 :(得分:1)

只要您在连接上调用HttpURLConnectionHttpsURLConnectionsetUseCaches(true)就会使用已安​​装的HttpResponseCache。

此外,Web服务器的响应需要可缓存。