¿Podría alguien de una vez por todas explicar por favor No puedo llamar a determinedVisibility () – nunca vi una conexión para el pid

Actualmente estoy trabajando en graficar datos a través de d3 en una vista web. Naturalmente, las cosas se están rompiendo en cuanto intento volver a cargar el gráfico y darle nuevos datos. Esta línea encantadora sigue apareciendo: W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid .

He buscado una explicación, pero no parece haber nada concluyente. La gente sólo está sugiriendo para activar el almacenamiento DOM en la configuración de webview (que obviamente no soluciona el problema). Estoy sospechando que hay una condición de carrera entre la recarga de la gráfica y la alimentación de nuevos datos. He sobrepasado onPageFinished () en mi WebViewClient para llamar al oyente para cargar los datos en el gráfico, pensando que resolvería la condición de carrera, pero sin éxito.

¿Puede alguien explicarme por favor qué W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid significa? ¿Estoy en mi evaluación? ¿Cómo puedo depurarlo?

Cualquier sugerencia es apreciada.

EDIT: He resuelto el problema original, pero me encantaría saber lo que significa esa línea. Bounty para arriba.

2 Solutions collect form web for “¿Podría alguien de una vez por todas explicar por favor No puedo llamar a determinedVisibility () – nunca vi una conexión para el pid”

Las llamadas consecutivas a loadUrl causan una condición de carrera. El problema es que loadUrl ("file: // ..") no se completa inmediatamente y cuando se llama a loadUrl ("javascript: ..") se ejecuta antes de que la página se haya cargado.
Así es como configuro mi webview:

 wv = (CustomWebView) this.findViewById(R.id.webView1); WebSettings wv_settings = wv.getSettings(); //this is where you fixed your code I guess //And also by setting a WebClient to catch javascript's console messages : wv.setWebChromeClient(new WebChromeClient() { public boolean onConsoleMessage(ConsoleMessage cm) { Log.d(TAG, cm.message() + " -- From line " + cm.lineNumber() + " of " + cm.sourceId() ); return true; } }); wv_settings.setDomStorageEnabled(true); wv.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); setTitle(view.getTitle()); //do your stuff ... } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("file")) { // Keep local assets in this WebView. return false; } } }); //wv.setWebViewClient(new HelpClient(this));// wv.clearCache(true); wv.clearHistory(); wv_settings.setJavaScriptEnabled(true);//XSS vulnerable wv_settings.setJavaScriptCanOpenWindowsAutomatically(true); wv.loadUrl("file:///android_asset/connect.php.html"); 

NOTA esta línea wv.setWebChromeClient(new WebChromeClient());

En el API de nivel 19 (Android 4.4 KitKat), el motor de navegación pasó de webkit Android a webkit de cromo, con casi todas las API de WebView original envuelto a las contrapartes de cromo webkit.

Este es el método que da el error ( BindingManagerImpl.java ), de la fuente de Chromium :

 @Override public void determinedVisibility(int pid) { ManagedConnection managedConnection; synchronized (mManagedConnections) { managedConnection = mManagedConnections.get(pid); } if (managedConnection == null) { Log.w(TAG, "Cannot call determinedVisibility() - never saw a connection for the pid: " + "%d", pid); return; } 

Es una advertencia de reproducción del contenido. Espero que esto ayude; O)

Esto suele aparecer cuando se está reemplazando el método shouldOverrideUrlLoading() .

De mis usos de WebView en aplicaciones anteriores, esto se debe a lo que se está prestando en el WebView, lo que está siendo capturado en el método anterior y, a su vez, ignorado. Veo esto mucho cuando los sitios web que carga intento para cargar scripts fuera del dominio permitido.

  • Android - Cómo puedo llamar a la función javascript y obtener el valor retur de la función javascript
  • Cómo comprobar si la aplicación está en primer plano o en segundo plano
  • Entrada de archivo HTML en Chrome para Android falta extensión y tipo mime
  • La geolocalización HTML5 ignora la opción enableHighAccuracy?
  • Android 4 Chrome éxito problema de prueba en eventos de toque después de transformar CSS
  • Aplicación Híbrida con Crosswalk + Cordova + Eclipse
  • ToolBarAndroid no representa en ReactNative
  • Escribir datos en USB HID usando Javascript, HTML5 o cualquier lenguaje de plataforma cruzada (compatible con Android)
  • React Native ListView TextInput se bloquea desde la renderización de optimización de rendimiento
  • Programáticamente agregar evento en iPhone / Android Calendario con PhoneGap / jQuery Mobile?
  • Obtener una URL de pestaña desde la acción de la página (WebExtensions, Android)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.