Pregunta Múltiples instancias de vista web separadas vistas en dispositivos Chrome mientras se navega en una aplicación híbrida de Android


Tenemos una aplicación de Android híbrida. Estoy tratando de navegar desde un WebView a un Native contexto de ida y vuelta. Utilizando chrome://inspect/#devices Observo que hay múltiples instancias de dispositivos inspeccionados detached mientras que uno de todos sería attached como se muestra en cromo. Refiriéndose a SO-28254614, ahora no he desarrollado WebView, pero para lo que sé sobre nuestra aplicación, WebView no está diseñado con Cordova y está en JS. Una de las preguntas que tengo son:

  • ¿Por qué es así que vemos estos dispositivos separados en Chrome?
  • ¿Podría ser esta una posibilidad de una fuga en Android WebView?

EDIT 1: Esperando un poco de ayuda. Han levantado generosidad en esto   varias veces pero sin uso. Esperando alguna solución a esto.

EDIT 2: Sigue buscando una posible respuesta. La corriente   las respuestas no contienen suficientes detalles.


29
2017-12-05 07:11


origen


Respuestas:


Entonces, la forma en que funcionan estos inspectores web es que usan el Protocolo RemoteDebug.

Este protocolo define los diversos mensajes y comandos que se intercambian para permitirle 'inspeccionar' sus páginas.

Una instancia del inspector solo puede conectarse a un cliente a la vez. Asumiendo que está cambiando de vista a página web y contexto nativo, básicamente está generando nuevas vistas de la web para cada nuevo cambio de contexto.

Esto indicaría que las vistas web previamente abiertas ahora están 'huérfanas' y para todos los propósitos prácticos detached.

Puede intentar informar a la VM que una vista web ya no está en uso llamando destroy() en la vista web para que el recolector de basura sepa que ya no es necesario.

Espero que esto proporcione una comprensión más profunda de lo que está sucediendo detrás de escena.


4
2018-03-18 09:05