2012-02-03 22 views
25

Cuál es la forma más rápida de cargar páginas web móviles y páginas web no móviles en la vista web de Android; cargar el caché o no cargar eso en absoluto?Almacenamiento en caché en la vista web de Android

¿Y qué es el estilo recomendado para cargar eso?

En este momento, cuando no cargo la caché en todos los sitios que no son móviles, su carga es mucho más lenta que cuando los cargo en un navegador nativo.

Respuesta

32

no utilice estos:

viewer.getSettings().setAppCacheMaxSize(1024*1024*8); 
viewer.getSettings().setAppCachePath("/data/data/com.your.package.appname/cache"‌​);  
viewer.getSettings().setAppCacheEnabled(true); 

Estos no tienen nada que ver con la memoria caché interna vistas web por defecto. Appcache es una característica totalmente diferente que significa que puede ejecutar el sitio web sin conexión a Internet. No funciona tan bien y probablemente no quieras usarlo.

Con la configuración de esto: viewer.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT) es suficiente.

+6

¿Puede respaldar esto con un enlace a alguna documentación que describa AppCache? Dado que 'LOAD_DEFAULT' tiene la palabra" predeterminada ", seguramente la última línea de tu respuesta no hace nada a menos que hayas establecido explícitamente un valor diferente en otro lugar. –

+2

setAppCacheMaxSize ha quedado obsoleto desde la página 18. http://developer.android.com/reference/android/webkit/WebSettings.html#setAppCacheMaxSize(long)] –

+0

@ ed-hinchliffe es difícil encontrar una buena documentación sobre esto desde Google mismo , pero se refieren a este documento https://docs.webplatform.org/wiki/tutorials/appcache_beginner de la sección "Trabajo sin conexión" de esta publicación en Google Chrome WebView: https://developer.chrome.com/multidevice/Android/descripción general. También tiene razón en que su última línea en la respuesta no hace nada. – Nilzor

13

Por supuesto, el enfoque en caché debe ser más rápido. Esa es la razón exacta por la que el almacenamiento en caché está ahí en primer lugar.

Pero deberías estar bien a menos que deshabilites específicamente el almacenamiento en caché para la vista web. Si no lo hace, usará la memoria caché de forma predeterminada.

+11

Gracias. ¿Este estilo inteligente es caché o hay algún problema con esto? viewer.getSettings(). setAppCacheMaxSize (1024 * 1024 * 8); viewer.getSettings(). SetAppCachePath ("/ data/data/com.your.package.appname/cache"); viewer.getSettings(). SetAppCacheEnabled (true); viewer.getSettings(). SetCacheMode (WebSettings.LOAD_DEFAULT); – Eljas

+1

Sí, no veo nada de malo en eso (supongo que pones el verdadero nombre del paquete en tu código actual :)). Si tiene dudas, puede jugar con el tamaño y hacer algunas pruebas para ver cuál funciona mejor para el tipo de contenido que está cargando. Si las páginas son grandes y está planeando cargar muchas otras, es posible que desee un caché más grande que 1Mb. Si son en su mayoría texto y su aplicación solo tendrá que mostrar un pequeño número de ellos, probablemente esté bien con la configuración actual. –

+0

Además, si la respuesta es satisfactoria, considere marcarla como aceptada :) –

Cuestiones relacionadas