2011-07-20 12 views
5

Ben WebView yükleme hızlandırmak için yollar arıyorum ve belgelerinde çok kısaca tarif edildiği WebSettings.setBlockNetworkLoads() rastladım:"Tüm ağ yükleme isteklerini engelle" ne anlama geliyor?

tüm ağ yükü isteklerini engellemek için WebView'ı söyle.

Ama "tüm ağ yükü istekleri" Ne bana belirsiz demek.

Resim yüklenmesini engelliyor mu, örneğin setBlockNetworkImage() mu?

Başka şeyleri engelliyor mu? (eğer öyleyse, ne engelliyor?)

+0

Sadece kullanmayı deneyin ve ne olduğunu görün. JavaScript veya Flash'ı veya her şeyi engelleyip engellemediğini görmek için ACID veya Kongregate'i çalıştırın. –

+1

@notverycreative Bu çok yaratıcı bir cevaptır ve ben bununla deney yapmaya başlamak üzere * yaşıyorum, ama ** terminolojiyi de ** anlamaya çalışıyorum. "Ağ yükü isteklerinin" web uzmanları arasında özel bir anlamı olduğunu hissediyorum. (Bu tür bir uzman değilim) bu soruyu cevaplamak için 1. girişim için – ef2011

cevap

2

this code sample göre, "şebekesi üzerinde harici kaynakları yüklenmesini WebView'ı önlenmesi" anlamına gelir.

Bunu, kaynakların yerel olarak (önbellek, bellek) yüklenmesine izin veren, ancak ağda değil, açıkça belirttiğiniz bir URL'yi bile değil olarak yorumluyorum.

Yani, gözlemlediğiniz gibi, görüntüler de dahil olmak üzere her şeyi engeller.

+0

Her şeyi engelliyorsa, neden setBlockNetworkImage() 'yerine kullanılması önerilir? Kullanım örneği verebilir misiniz? – ef2011

1

Bu ayarı hiç kullanmadım, ancak başka bir bağlam olmadan WebView .load yöntemleri anlamına geldiğini düşünürdüm.

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. Sadece WebSettings.setBlockNetworkLoads (** true **) ayarlamayı denedim ve NOTHING belirtilen URL'den değil HTML'den bile yükleniyor! Bu, muhtemelen haklı olduğunuz anlamına gelir, ancak Google neden bu yöntemi setBlockNetworkImage() yerine kullanmasını önerir? Bu soruyu cevaplamak için ikinci girişimde – ef2011

1

WebView'in diğer sayfaları yüklemesini önlemek için kullanılır. Dolayısıyla, bir sayfayı görüntülemeniz gerekiyorsa ancak yüklenen sayfada herhangi bir bağlantıya izin verilmiyorsa, bunu kullanın.

Sayfayı yükleyin, sonra bu bayrağın çalışması için bu bayrağı doğru olarak ayarlayın.

Sanırım!

+0

+1. Kimsenin cevap hakkında kimsenin gerçekten emin olmadığını görmek ilginç. Bu dokümantasyon hakkında ne diyor? LOL – ef2011