Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.1K
Vistas
Solución alternativa para el error en Chromium WebView sobre la alta carga que causa una representación parcial en el lienzo

Encontré [1] este problema en el WebView más nuevo de Chrome. Para producirlo necesitas tres cosas:

  1. Ha actualizado WebView a la versión del 15.11.2021
  2. HardwareAcceleration en AndroidManifest se establece como verdadero
  3. Cuando entrega mucho material para renderizar para la vista web, comienza a ver el contenido que falta en la pantalla.

Mi pila de tecnología usa un mapa de Openlayers dentro de la aplicación que en realidad es un pequeño sitio web repleto de Cordova, que es el componente que usa WebView.

Por uso intensivo me refiero a que el mapa debe tener muchas capas de datos de mapa para renderizar y tengo que hacer algunas maniobras para mover el mapa y hacer que comience a cargar el siguiente contenido renderizado antes de que se complete el anterior.

La primera vez que abro el mapa después de la instalación, el mapa funciona bien con mucha carga. El problema comienza cuando elimino la aplicación y vuelvo a iniciar sesión y hago los movimientos pesados cuando la aplicación intenta renderizar la primera vez. Después de eso, el mapa no representa el contenido como un todo, algunos mosaicos y menús del mapa aparecen solo parcialmente.

El comportamiento continúa incluso cuando hago clic en algunas capas del mapa, y cuando ya hay muy pocas, el problema se resuelve. El punto interesante también es que no hay un solo punto donde la carga sea suficiente para desencadenar el problema o establecerse, al menos el punto es diferente en cada dirección.

Hay un mensaje de advertencia que llega a logcat solo cuando el problema está presente:

cromo: [ERROR:tile_manager.cc(821)] ADVERTENCIA: se excedieron los límites de memoria de mosaicos, es posible que parte del contenido no se dibuje

y puedo observar que viene de la misma manera que la actualización de la versión 15.11.2021 ha eliminado algunos "datos inútiles" [2] . No estoy 100% seguro de si estas dos cosas están relacionadas, pero me di cuenta de que las versiones anteriores a esa actualización en particular funcionan bien con mi aplicación (eliminé las actualizaciones de WebView en Google Play).

Actualmente hay tres soluciones alternativas:

  1. No use capas de mapa que sean demasiado pesadas y desencadenen el problema (perjudica la experiencia del usuario de nuestra aplicación al ocultar información crucial del usuario)
  2. Elimine las actualizaciones de vista web de PlayStore (lo probé personalmente, durante la noche el sistema actualizó la versión rota, difícil de comunicar a los usuarios finales).
  3. No usar aceleración de hardware. (Otras partes de la aplicación se vuelven inútiles, el comportamiento demasiado lento enoja a los usuarios finales).

Como observas, ninguno de estos está funcionando bien. Creo que otros usuarios intensivos de WebView también ven este mismo comportamiento, por lo que abrí esta pregunta con solo una pregunta principal:

Mientras tanto, mi informe de error avanza en Google, ¿qué podría hacer mientras tanto para solucionar el problema?


Fuentes:

[1] https://bugs.chromium.org/p/chromium/issues/detail?id=1274482

[2] https://chromium.googlesource.com/chromium/src/+/a0994781ea666d9b630b6478206ac429ed8444d1%5E%21/#F0

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda