我已经关注了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)
。这有必要吗?
答案 0 :(得分:1)
只要您在连接上调用HttpURLConnection
,HttpsURLConnection
和setUseCaches(true)
就会使用已安装的HttpResponseCache。
此外,Web服务器的响应需要可缓存。