Encontré [1] este problema en el WebView más nuevo de Chrome. Para producirlo necesitas tres cosas:
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:
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