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"); 
  • Xamarin android consumo de memoria crece infinitamente después de que el uso alcanza un cierto umbral
  • Comprobar y evitar fugas de memoria en la aplicación
  • Android con poca memoria, por ninguna razón obvia
  • Uso de memoria de Android AdMob
  • ¿Trabajar alrededor de la fuga de SpellCheckerSession?
  • ¿Cómo averiguar la huella de memoria de mi aplicación para Android?
  • FragmentStatePagerAdapter OutOfMemoryError
  • OutOfMemoryError al escribir en el archivo SharedPreferences
  • android R.integer devuelve incorrecto Valor extremadamente grande que causa fuera de mem mientras que crea el arsenal
  • Pérdida de memoria a pesar de usar weakreference
  • Pasar Contexto a ArrayAdapter dentro de Fragmento con setRetainInstance (true) causará la fuga?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.