web-dev-qa-db-fra.com

Surface :: setbuffersDimensions Journal étant spammé

J'ai construit une application Android qui fonctionne bien et comme prévu avec une tablette: Acer. API 7 pouces 21. 

J'ai récemment eu une nouvelle tablette: Acer. API 10 pouces 22. 

Maintenant, je reçois mes journaux spammés avec cette ligne.

04-12 18:23:27.371 8776-9082/com.callbell.callbell D/Surface: Surface::setBuffersDimensions(this=0x7f9aa44000,w=800,h=1280)

et l'écran se fige et devient blanc à des intervalles aléatoires. Je n'ai vu aucune erreur dans le journal et la seule référence que je peux trouver à cette ligne de journal est ici

https://Android.googlesource.com/platform/frameworks/native/+/fe94bd262bc0a33d709aee8fb70c1369656b479b/libs/gui/Surface.cpp

UPDATE Je l'ai essayé sur quelques appareils avec un succès variable.

PAS D'ISSUES:

Samsung Galaxy Tab 7 "

Samsung Galaxy Tab 10 "

Acer Iconia 8 "

PROBLÈMES:

Acer Iconia 10 "

14
austin

Ces journaux viennent quand nous avons EditText avec le curseur, et que le curseur clignotant est responsable de redessiner l'écran.

Surface :: setBuffersDimensions (this = 0x7f4ccc7c00, w = 1080, h = 1920)
D/OpenGLRenderer: WorkerThread 0x7f7c07f000 en cours d'exécution

Quand j'ai fait

Android:cursorVisible="false"

ces journaux étaient partis.

Ainsi, lorsque studio screen devient du spam avec ces journaux, c’est une alerte pour que le développeur vérifie le schéma de dessin de l’interface utilisateur.

7
Lokesh Tiwari

Ce journal signifie que quelque chose sur votre écran est en train d'être redessiné.
Il n'apparaît que sur quelques appareils, mais quel que soit l'appareil que vous utilisez, vous pouvez activer les "mises à jour des couches matérielles" ou les "mises à jour de gpu" dans les options de développement et vous verrez la zone flashée en cours de redessinage. .
En outre, si le problème existe sur un périphérique, il est probable qu'il existe également sur d'autres.

4
qwertyfinger

Si quelqu'un d'autre trouve ce problème, assurez-vous que vous n'avez pas quelque chose comme une barre de progression ou que vous ne vous arrêtez pas de restituer une fois le chargement de WebView terminé. Dans Xamarin.Android, je devais remplacer OnPageFinished, à partir de WebViewClient, et définissez progressBar.Visibility = ViewStates.Gone;. Il existe également un lien vers un référentiel GitHub (pas le mien) qui contient d'autres implémentations de redéploiement de WebViewClient:

        public class MyWebViewClient : WebViewClient
    {
        public override bool ShouldOverrideUrlLoading(WebView view, string url)
        {
            view.LoadUrl(url);
            return false;
        }

        //More overrides: https://github.com/xamarin/monodroid-samples/blob/master/MonoIO/UI/MapFragment.cs
        public override void OnPageFinished(WebView view, string url)
        {
            base.OnPageFinished(view, url);
            progressBar.Visibility = ViewStates.Gone;
            view.Visibility = ViewStates.Visible;
        }

    }
0
Mariano Luis Villa