Android WebView – Fuga de memoria de JavaScript

Tengo un problema con JavaScript en WebView (habilitado usando webview.getSettings (). SetJavascriptEnabled (true);) Las páginas HTML con Javascript incrustado cargan y muestra correctamente, sin embargo, lo que estoy haciendo también es refrescar constantemente la pantalla cada 10 o 30 segundos. Cuando entro en el shell de mi dispositivo de prueba (MK808 mini-tv) utilizo "dumpsys meminfo" para ver la memoria de los procesos. Mostrando la memoria del proceso de mi aplicación cada 5 segundos Puedo ver que cada vez que la página se actualiza, el uso de memoria de la aplicación salta varios (4-10) megabytes. Esto continúa durante unos 30 minutos aproximadamente hasta que la aplicación se bloquee con un error de señal fatal 11 en WebViewCoreThread, sin rastro de pila.

Constante aumento de memoria (iniciado alrededor de 15000kb):

introduzca la descripción de la imagen aquí


Ninguno de estos problemas de memoria o errores ocurren cuando JavaScript no está habilitado.

I clearCache (true) y freeMemory (), así como cualquier otra base de datos y caché claro, cada vez antes de actualizar.

También he intentado destruir el WebView después de cada actualización y crear uno nuevo, sin éxito.

Puedo fácilmente rehacer este problema con sólo hacer un nuevo proyecto de aplicación y hacer una webview que se recarga basado en un manejador de control de tiempo .. Esto parece que debe ser un problema generalizado, pero no puedo encontrar nada sobre el tema. ¿Podría ser mi dispositivo?

Gracias de antemano por la ayuda, estaré encantado de agregar más información según sea necesario!

One Solution collect form web for “Android WebView – Fuga de memoria de JavaScript”

intenta agregar esto también:

//Injects the supplied Java object into this WebView. The object is injected into the //JavaScript context of the main frame, using the supplied name. This allows the //Java object's public methods to be accessed from JavaScript. WebView.addJavascriptInterface(new JavaScriptInterface(this), "Android"); 
  • Gráficos Android gran consumo de memoria montón? - LibGDX
  • Xamarin android consumo de memoria crece infinitamente después de que el uso alcanza un cierto umbral
  • Referencia débil en lugar de getActivity () (evitar Android memoria fugas)?
  • Enum de tamaño de byte en Java
  • Canal de entrada cerrado del consumidor o se produjo un error. eventos = 0x8
  • Cómo calcular programaticamente todo el tamaño de caché de la aplicación instalada?
  • InputMethodManager contiene referencia al tabhost - Memory Leak - OOM Error
  • ¿Cuál es la diferencia entre el montón de dalvik y el montón nativo en android? Cuál se fija.?
  • Fragmentos de memoria de Android Fragment
  • Llamar procrank no funciona en dispositivos reales
  • SocketTimeoutException Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.