2015-09-05 77 views
0

要顯示一個網站,您需要獲取html +多個js/css文件。Android是否爲每個http請求創建連接?

Android是否爲每個文件(URI)打開連接?

我即將做到這一點(打開每個文件的連接),並想知道這是否荒謬愚蠢。

我想最終做的是緩存JS/CSS文件我自己(我在考慮內部shouldInterceptRequest(WebView view, WebResourceRequest request)

我想看看自己的Android如何通過在shouldInterceptRequest功能打破這樣做,但我不能」從那裏找到更多的信息。

+1

「Android是否打開每個文件(URI)的連接?」 - 如果您在「WebView」內部引用,那麼將由您正在使用的「WebView」版本決定。 Keep-alive支持(和SPDY/HTTP2)今天應該得到支持;我不知道SPDY/HTTP2支持會走多遠。 「我即將做到這一點(打開每個文件的連接)並想知道這是否荒謬愚蠢」 - 如果您的意思是您要在「WebView」之外自行發出HTTP請求,請選擇一個HTTP客戶端API支持保持活動和SPDY/HTTP2。 – CommonsWare

+0

CommonsWare:哦,謝謝你的詳細解答,我對保持活着不是很熟悉,並且懷疑這是否適用於我的用例。這是我沒有確定的文件集來獲取。我必須在請求進入時獲取它們。正如我在問題中所述,我想攔截對靜態文件的請求並將其緩存以備後用。我正在尋找HttpURLConnection。我應該以某種方式創建連接並設置保持活動選項並保持全局? – eugene

+0

「我在看HttpURLConnection」 - 我會推薦一些更現代的東西,比如OkHttp。 「我是否應該創建連接並設置保持活動狀態並保持全局?」 - 我不知道爲什麼它需要成爲「全球」,雖然大概是這樣的可能性 – CommonsWare

回答

0

Android是否打開每個文件(URI)的連接?

如果您所指的是WebView以內,那麼將使用您正在使用的WebView版本。 Keep-alive支持(和SPDY/HTTP2)今天應該得到支持;我不知道SPDY/HTTP2支持會走多遠。

我要做到這一點(爲每個文件打開連接),想知道這是否是荒謬愚蠢

如果你的意思是你要發出HTTP請求自己WebView外,請選擇支持保持活動和SPDY/HTTP2的HTTP客戶端API。請注意,keep-alive本身僅適用於非SSL連接,並且您使用SSL(對嗎?正確?!???),所以SPDY/HTTP2支持更爲關鍵。 OkHttp提供此功能,Android 4.4+上的HttpUrlConnection實際上正在使用OkHttp。其他HTTP客戶端庫也可以提供。

相關問題