2011-07-20 56 views
5

我尋找各種方法來加快的WebView加載和我碰到WebSettings.setBlockNetworkLoads()來到該文檔中非常簡要描述:「阻止所有網絡負載請求」是什麼意思?

告訴的WebView阻止所有網絡負載的請求。

但我不清楚什麼「所有網絡負載請求」的意思。

是否阻止加載圖像,如setBlockNetworkImage()呢?

它阻止其他事情嗎? (如果是這樣,它是什麼阻止?)

+0

我只是嘗試使用它,看看會發生什麼。運行ACID或Kongregate以查看它是否阻止JavaScript或Flash或其他任何內容。 –

+1

@notverycreative這是一個非常有創意的答案,我* *即將開始嘗試這一點,但我也希望瞭解**術語。我有一種感覺,「網絡負載請求」在網絡專家中有特殊的含義。 (我不是這樣的專家) – ef2011

回答

2

根據this code sample它意味着「防止從web視圖在網絡加載外部資源」。

我將此解釋爲允許在本地(緩存,內存)但不通過網絡加載資源,甚至不是您明確指定的URL。

因此,正如你觀察到的,它會阻止一切,包括圖像。

+0

如果它阻塞了一切,爲什麼它被推薦爲'setBlockNetworkImage()'的替代品?你能提供一個使用例子嗎? – ef2011

1

我從來沒有使用過特定的設置,但沒有任何進一步的上下文我會認爲這意味着WebView .load方法。

WebView.loadData(String data, String mimeType, String encoding); 
WebView.loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl); 
WebView.loadUrl(String url); 
WebView.loadUrl(String url, Map<String, String> extraHeaders); 
+0

第1次嘗試回答這個問題。我只是嘗試設置WebSettings.setBlockNetworkLoads(** true **),而沒有從指定的URL加載任何東西,甚至不是HTML!這意味着你可能是對的,但爲什麼Google會推薦使用這種方法而不是setBlockNetworkImage()? – ef2011

1

它用於防止WebView加載其他頁面。所以如果你需要顯示一個頁面,但不允許在加載的頁面內點擊任何鏈接,那就使用它。

加載頁面,然後將此標誌設置爲true以使其起作用。

我想!

+0

第二次嘗試回答此問題。有趣的是,沒有人確定答案。這對文檔有什麼意義? LOL – ef2011