Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.1K
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!