2011-07-20 20 views
5

Estoy buscando la manera de acelerar la carga WebView y me encontré con WebSettings.setBlockNetworkLoads() que se describe muy brevemente en la documentación:¿Qué significa "bloquear todas las solicitudes de carga de red"?

Informe a todo el WebView para bloquear todas las solicitudes de carga de red.

Pero no está claro para mí lo que "toda la carga de red solicita" significa.

lo hace bloquear la carga de imágenes, como setBlockNetworkImage() hace?

¿Bloquea otras cosas? (en caso afirmativo, ¿qué bloquea?)

+0

Solo trataría de usarlo y ver qué pasa. Ejecute ACID o Kongregate para ver si bloquea JavaScript o Flash o todo. –

+1

@notverycreative Esa es una respuesta muy creativa, y estoy * a punto de comenzar a experimentar con esto, pero también estoy tratando de comprender la ** terminología **. Tengo la sensación de que las "solicitudes de carga de red" tienen un significado especial entre los expertos en la web. (No soy tan experto) – ef2011

Respuesta

2

Según this code sample que significa "la prevención de vista web se cargue recursos externos través de la red".

Interpreto que esto permite cargar recursos localmente (caché, memoria) pero no a través de la red, ni siquiera una URL que especifiques explícitamente.

Así que, tal como lo observó, bloqueará todo, incluidas las imágenes.

+0

Si bloquea todo, ¿por qué se lo recomienda como reemplazo de 'setBlockNetworkImage()'? ¿Puedes dar un ejemplo de uso? – ef2011

1

Nunca he usado esa configuración en particular, pero sin ningún contexto adicional, creo que significa que los métodos 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 para el primer intento de responder esta pregunta. Solo intenté configurar WebSettings.setBlockNetworkLoads (** true **) y NADA se está cargando desde la URL especificada, ¡ni siquiera HTML! Lo que significa que probablemente tengas razón, pero ¿por qué Google recomendaría usar este método en lugar de setBlockNetworkImage()? – ef2011

1

Se utiliza para evitar que WebView cargue otras páginas. Por lo tanto, si necesita mostrar una página pero no permite que se haga clic en ningún vínculo dentro de la página cargada, utilícela.

carga la página, a continuación, establecer la marca como true para que esto funcione.

¡Pienso!

+0

+1 para el segundo intento de responder esta pregunta. Es interesante ver que nadie está realmente seguro de una respuesta. ¿Qué dice esto sobre la documentación? LOL – ef2011

Cuestiones relacionadas